时间相关的类

与时间相关的类主要有 Date类、SimpleDateFormat类和Calendar类。其中最常用的就是Date类、SimpleDateFormat类。

Date类:

Date 表示特定的瞬间,精确到毫秒。

常用方法:

1、Date()
          分配 Date 对象并初始化此对象,以表示分配它的时间(精确到毫秒)。

2、Date(long date)
          分配 Date 对象并初始化此对象,以表示自从标准基准时间(称为“历元(epoch)”,即 1970 年 1 月 1 日 00:00:00 GMT)以来的指定毫秒数。

3、int compareTo(Date anotherDate)
          比较两个日期的顺序。如果参数 Date 等于此 Date,则返回值 0;如果此 Date 在 Date 参数之前,则返回小于 0 的值;如果此 Date 在 Date 参数之后,则返回大于 0 的值。

4、boolean equals(Object obj) 
     比较两个日期的相等性。比较两个日期的相等性。当且仅当参数不为 null,并且是一个表示与此对象相同的时间点(到毫秒)的 Date 对象时,结果才为 true。因此,当且仅当 getTime 方法对于两个 Date 对象返回相同的 long 值时,这两个对象才是相等的。

SimpleDateFormat类:

SimpleDateFormat 是一个以与语言环境有关的方式来格式化和解析日期的具体类。它允许进行格式化(日期 -> 文本)、解析(文本 -> 日期)和规范化。

常用方法:

1、SimpleDateFormat(String pattern) 
     用给定的模式和默认语言环境的日期格式符号构造 SimpleDateFormat

2、format(Date date) 函数

  时间转字符串

3、parse(String date)函数

  字符串转时间

calender 类:

Calendar 类是一个抽象类,它为特定瞬间与一组诸如 YEARMONTHDAY_OF_MONTHHOUR日历字段之间的转换提供了一些方法,并为操作日历字段(例如获得下星期的日期)提供了一些方法。瞬间可用毫秒值来表示,它是距历元(即格林威治标准时间 1970 年 1 月 1 日的 00:00:00.000,格里高利历)的偏移量。

常用方法:

1、static Calendar getInstance() 
     使用默认时区和语言环境获得一个日历。

2、 int get(int field)
          返回给定日历字段的值。具体的值可以参照API。

代码示例:

 1 import java.text.ParseException;
 2 import java.text.SimpleDateFormat;
 3 import java.util.Calendar;
 4 import java.util.Date;
 5
 6 public class DateTest {
 7     public static void main(String[] args) throws ParseException {
 8         Date date= new Date();
 9         //时间转字符串format(Date date) 函数
10         //默认时间格式
11         SimpleDateFormat dateFormat = new SimpleDateFormat();
12         String normalFormatTime = dateFormat.format(date);
13         System.out.println("默认格式的当前时间:"+normalFormatTime);
14         //自定义时间格式
15         SimpleDateFormat dateFormat2 = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
16         String customFormatTime = dateFormat2.format(date);
17         System.out.println("自定义格式的当前时间:"+customFormatTime);
18
19         //字符串转时间parse(Date date)函数
20         String birthday = "2017-12-23 00:07:01";
21         Date date2 = dateFormat2.parse(birthday);  //注意: 指定的字符串格式必须要与SimpleDateFormat的模式要一致。
22         System.out.println(date2);
23
24         //时间比较
25         int result = date.compareTo(date2);
26         System.out.println("比较结果:"+result);
27         System.out.println("两个时间是否相等:"+date.equals(date2));
28
29         //日历类
30         Calendar calendar = Calendar.getInstance(); //获取当前的系统时间。
31         System.out.println("年:"+ calendar.get(Calendar.YEAR));
32         System.out.println("月:"+ (calendar.get(Calendar.MONTH)+1));
33         System.out.println("日:"+ calendar.get(Calendar.DATE));
34
35         System.out.println("时:"+ calendar.get(Calendar.HOUR_OF_DAY));
36         System.out.println("分:"+ calendar.get(Calendar.MINUTE));
37         System.out.println("秒:"+ calendar.get(Calendar.SECOND));
38
39     }
40 }

时间: 2024-10-25 17:00:42

时间相关的类的相关文章

java 时间相关的类互相转换

今天在读取solr中的时间时,发现又是一堆时间格式转来转去,现在总结下之前工程中都遇到的关于时间的转换,这里主要是以java的类做总结: 一. Timestamp 与 Date( java.util.Date )互转 Date是Timestamp的父类! 1.1 Timestamp ->Date : // date对象指向的实体是一个timestamp,这是父类引用指向子类对象. public Date TimestampToDate(Timestamp timestamp) { Date da

Java - Calendar类的使用

今天在写代码时需要用到时间相关的类,一开始,数据库中存的数据类型是timestamp的,所以在Java中就使用了 Timestamp类型,但当调用Timestamp类型的方法时发现,它的很多方法都是deprecated,并且运行结果与预期有所差异. Eclipse的自动提示我使用Calendar类来代替Timestamp类的使用. 1 private static void testCalendar() { 2 Timestamp ts = new Timestamp(System.curren

Java基础——Java常用类

String是一个final类,代表不可变的字符序列 public int length() public char charAt(int index) public boolean equals(Object anObject) public int compareTo(String anotherString) public int indexOf(String s) public int indexOf(String s ,int startpoint) public int lastIn

详解Java中的时区类TimeZone的用法

一.TimeZone 简介 TimeZone 表示时区偏移量,也可以计算夏令时. 在操作 Date, Calendar等表示日期/时间的对象时,经常会用到TimeZone:因为不同的时区,时间不同. 下面说说TimeZone对象的 2种常用创建方式.1.获取默认的TimeZone对象使用方法: TimeZone tz = TimeZone.getDefault() 2.使用 getTimeZone(String id) 方法获取TimeZone对象使用方法: // 获取 "GMT+08:00&q

日期类之SimpleDateFormat

1.System 类下的currentTimeMillis();2.Date类:java.util.Date及其子类java.sql.Date                  如何创建实例:其下的方法:toString(), getTime()               (以及其子类java.sql.Date)3.SimpleDateFormat类 国际化用的4.Calendar类 package com.aff.date; import java.text.ParseException;

Java中日期的总结

#####1.日期 日期:主要使用的是*java.util.Date* 以及*java.sql.Date* , sql中的Date是util中Date的子类,关系如下,但是如果直接转换的话会出现Cast转换错误. - java.lang.Object - java.util.Date - java.sql.Date 之间的转换可以通过如: ```javajava.util.Date utildate=new java.util.Date(System.getCurrentTime());java

iOS学习笔记37-时间和日期计算

一.时间和日期计算 我们在应用开发中,时常需要和时间打交道,比如获取当前时间,获取两个时间点相隔的时间等等,在iOS开发中与时间相关的类有如下几个: 1. NSDate:表示一个绝对的时间点 2. NSTimeZone:时区信息 3. NSLocale:本地化信息 4. NSDateComponents:一个封装了具体年月日.时秒分.周.季度等的类 5. NSCalendar:日历类,它提供了大部分的日期计算接口 6. NSDateFormatter:用来在日期和字符串之间转换 二.NSDate

Java中时间日期格式化

1.与日期时间相关的类:      第一:java.util.Date;                         将时间作为一个整体使用.处理时,使用Date类较为简便      第二:java.util.Calender;                   要处理时间的一部分,如月.分时,使用Calendar类较为简便      第三:java.text.DateFormat               抽象类,是SimpleDateFormate的父类      第四:java.t

[转] Java8 日期/时间(Date Time)API指南

[From] http://www.importnew.com/14140.html Java 8日期/时间( Date/Time)API是开发人员最受追捧的变化之一,Java从一开始就没有对日期时间处理的一致性方法,因此日期/时间API也是除Java核心API以外另一项倍受欢迎的内容. 为什么我们需要新的Java日期/时间API? 在开始研究Java 8日期/时间API之前,让我们先来看一下为什么我们需要这样一个新的API.在Java中,现有的与日期和时间相关的类存在诸多问题,其中有: Jav