日期格式
日期格式看似很多,但其实总的来说,也就分为两类,一种就是Date
类型,一类就是最简单的long
型。这两种类型可以互相转化。平常使用的日期格式其实都不是简单的Date
的实例,需要去转化。long
类型有一些简单的使用方面,比如说以当前时间为一张图片命名,也可以存当前时间到数据库中,平常用的日期格式如下,后面会介绍如何输出这里的格式。
- 系统当前时间(
long
型) - 2016-05-16(年-月-日)
- 2016-05-16 12:30:10(年-月-日 时:分:秒)
- 20160516(年月日)
java实现
得到
long
型的日期,方法有很多,下面列出几种:
long time = System.currentTimeMillis(); //调用Sys方法
Date currentTime = new Date(); // Date 类
long time=currentTime.getTime();
输出结果类似这样:1464258512937
这种
long
类型的日期格式 ,它表示从1970年开始计算到当前时间所经过的秒数。这类日期格式一般用在保存文件名的时候使用,大部分日期格式最终还是要转换成平常使用的日期格式,需要用到SimpleDataFormat
类。
Date currentTime=new Date(); //得到当前时间
System.out.println(currentTime); //直接的 Date 对象输出 Thu May 26 18:02:26 CST 2016 这种格式不常用
使用
simpleDateFormat
格式化Date
类型的日期格式输出:
2016-05-17 18:23:56
SimpleDateFormat formater=new SimpleDateFormat("yyyy-MM-DD HH:mm:ss");
String time=formater.format(currentTime);
System.out.println(time); //
201605
SimpleDateFormat formater=new SimpleDateFormat("yyyyMM");
String time=formater.format(currentTime);
System.out.println(time); //
2016_05_17
SimpleDateFormat formater=new SimpleDateFormat("yyyy_MM_DD");
String time=formater.format(currentTime);
System.out.println(time); //
使用
simpleDateFormat
格式化long
类型的日期格式输出:
long time=System.currentTimeMillis();
利用
TimeStamp
类实现比较简单
Timestamp timestamp=new Timestamp(time);
System.out.println(timestamp.toString());
输出结果:
2016-05-26 18:28:32.937
(string
类型)
String 类型转化Date
对上面的输出结果:
2016-05-26 18:28:32.937
(string
类型)可以利用SimpleDateFormat
类的parse
函数去解析成Date
类型。Date date=new SimplDateFormat().parse(String obj);
转换成Date后可以利用上面提到的方法去格式化
Calendar
可以利用这个类直接获取当前年月日中的具体某一个
Calendar calendar=Calendar.getInstance();
int year=calendar.get(Calendar.YEAR);
int month=calendar.get(Calendar.MONTH);