Java中Date和Calendar类的简单使用
2017-04-09 13:25
501 查看
在调用时间系统时间时,会用到这两个类。
首先Date是一个具体类,可以创建对象:
Date date = new Date();无参数对应的是系统当前时间。
如果此时在控制台输出:
System.out.println(date);得到Sun Apr 09 12:17:02 CST 2017
但不是日常我们看到的格式。
此时要用另一个类DateFormat(抽象类)或者其子类SimpleDateFormat类(具体类)。
首先DateFormat的使用:
DateFormat df = DateFormat.getDateInstance(DateFormat.SHORT);//短格式日期
然后用df.formate(date);得到一个字符串类型的值。String str = df.format(date);输出str即为短格式日期,如:17-4-9,代表2017年4月9日。如果用DateFormat.Full或DateFormat.MEDIUM或DateFormat.LONG做参数会得到不同的时间格式。
若用SimpleDateFormat类,则可以实例化,即
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");指定时间格式
然后调用sdf.format(date);得到一个字符串,输出即可:2017-04-09 12:17:02
Date的对象有一个getTime()方法,得到的是一个long类型,查阅相关资料得出结论:在构造时调用了System.currentTimeMillis();方法,返回的是从1970年一月一日00时00分00秒到现在的毫秒数。
再说Calendar类:
Calendar类是一个抽象类,他有一个子类为GregorianCalendar
首先使用Calendar类:
Calendar calendar = Calendar.getInstance();此时就可以调用对象calendar的get方法的到年月日时分秒等。
calendar.get(Calendar.YEAR);//年
calendar.get(Calendar.MONTH);//月
calendar.get(Calendar.HOUR_OF_DAY);//时
还有
88b5
Calendar.DAY_OF_MONTH表示日,其他参数在使用联想功能即可显示,选择即可。
得到对应的值,按照自己的格式输出即可。
再说GregorianCalendar,它可以有实例对象。
GregorianCalendar gc = new GregorianCalendar();
之后调用同Calendar。
在DateForamt和SimpleDateFormat中还有parse方法,将指定格式的串输出为Date类型。
实时先来DateFormat的例子
DateFormat df = DateFormat.getDateInstance(DateFormat.SHORT);
String str = df.format(date);此时的str为DateFormat.SHORT 格式,接下来调用df.parse(str);得到了一个Date类型。
比如:短格式为:17-4-9
转换之后为:Sun Apr 09 00:00:00 CST 2017,可以看到时分秒为0 ,也就是说如果你的str中没有Date的某一部分,会输出为0.
再说SimpleDateFormat类
SimpleDateFormat sdf = new SimpleDateFormat("yyyy年MM月dd日 HH时mm分ss秒");
String str = "2017年4月9日 13时9分20秒";
sdf.parse(str);得到Date类型。也就是parse可以将指定时间格式的串转化为Date类型。
首先Date是一个具体类,可以创建对象:
Date date = new Date();无参数对应的是系统当前时间。
如果此时在控制台输出:
System.out.println(date);得到Sun Apr 09 12:17:02 CST 2017
但不是日常我们看到的格式。
此时要用另一个类DateFormat(抽象类)或者其子类SimpleDateFormat类(具体类)。
首先DateFormat的使用:
DateFormat df = DateFormat.getDateInstance(DateFormat.SHORT);//短格式日期
然后用df.formate(date);得到一个字符串类型的值。String str = df.format(date);输出str即为短格式日期,如:17-4-9,代表2017年4月9日。如果用DateFormat.Full或DateFormat.MEDIUM或DateFormat.LONG做参数会得到不同的时间格式。
若用SimpleDateFormat类,则可以实例化,即
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");指定时间格式
然后调用sdf.format(date);得到一个字符串,输出即可:2017-04-09 12:17:02
Date的对象有一个getTime()方法,得到的是一个long类型,查阅相关资料得出结论:在构造时调用了System.currentTimeMillis();方法,返回的是从1970年一月一日00时00分00秒到现在的毫秒数。
再说Calendar类:
Calendar类是一个抽象类,他有一个子类为GregorianCalendar
首先使用Calendar类:
Calendar calendar = Calendar.getInstance();此时就可以调用对象calendar的get方法的到年月日时分秒等。
calendar.get(Calendar.YEAR);//年
calendar.get(Calendar.MONTH);//月
calendar.get(Calendar.HOUR_OF_DAY);//时
还有
88b5
Calendar.DAY_OF_MONTH表示日,其他参数在使用联想功能即可显示,选择即可。
得到对应的值,按照自己的格式输出即可。
再说GregorianCalendar,它可以有实例对象。
GregorianCalendar gc = new GregorianCalendar();
之后调用同Calendar。
在DateForamt和SimpleDateFormat中还有parse方法,将指定格式的串输出为Date类型。
实时先来DateFormat的例子
DateFormat df = DateFormat.getDateInstance(DateFormat.SHORT);
String str = df.format(date);此时的str为DateFormat.SHORT 格式,接下来调用df.parse(str);得到了一个Date类型。
比如:短格式为:17-4-9
转换之后为:Sun Apr 09 00:00:00 CST 2017,可以看到时分秒为0 ,也就是说如果你的str中没有Date的某一部分,会输出为0.
再说SimpleDateFormat类
SimpleDateFormat sdf = new SimpleDateFormat("yyyy年MM月dd日 HH时mm分ss秒");
String str = "2017年4月9日 13时9分20秒";
sdf.parse(str);得到Date类型。也就是parse可以将指定时间格式的串转化为Date类型。
相关文章推荐
- 如何使用Java中的Date和Calendar类
- Java中正则表达式和常用的Math、Random、System、BigInteger、BigDecimal、Date/DateFormat、Calendar类的使用
- 1.Java实验1.基础使用和Date,Calendar类
- Java中Date和Calendar类的使用方法
- Java 线程安全LocalTime 和LocaldateTime 新的Date和Time类 -JDK8新时间类的简单使用
- 使用Java中的Date和Calendar类
- 使用Java中的Date和Calendar类
- Java 日期类的使用:Date,Calender,SimpleDateFormat的简单使用
- 如何使用Java中的Date和Calendar类
- Java复习笔记14【Calendar类的简单使用】
- 使用Java中的Date和Calendar类
- Java—SimpleDateFormat的简单使用
- Java基础:Date和Calendar类的使用方法
- java中的Date和Calendar类的使用.还有math类种的函数使用
- Java中Calendar类的简单使用方法,以及日期格式化的方法,字符串日期格式的验证
- Java学习--(十一)包装类,Date,SimpleDateFormat,Calendar类的使用
- Java中Date和Calendar类的使用
- 黑马程序员—java技术blog—第一篇:Date和Calendar类的使用方法
- 使用Java中的Date和Calendar类
- java 基础 简单正则表达式使用规则、Math类、Random类、System类、BigInteger类、BigDecimal类、Date类、SimpleDateFormat类、Calendar类