Java时间格式
日期之间格式
yyyy 四位数年份 2021
YY 周年 21
DD 一年中的日子 361
dd 一个月的日期 22
HH 一天中的小时 (0~23)
hh A.M./P.M. (1~12)格式小时
MM 一年中的月份 07 july
mm 一个小时内的分钟数 30
SS 毫秒数
ss 秒数
常用的日期格式
yyyy-MM-dd HH:mm:ss
年月日 时分秒
Date转String
Date date = new Date();
SimpleDateFormat sfd =new SimpleDateFormat("yyyy/MM/dd HH:MM:ss");
String s = sfd.format(date);
System.out.println(date);
System.out.println(s);
String转Date
String格式跟simpleDateFormat的格式一样,不然会解析异常
String s1 = new String("2021-10-22 9:15:58");
SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
Date parse = simpleDateFormat.parse(s1);
System.out.println(parse);
获取系统的毫秒数
1970年1月1日以来的时间 到现在系统时间的毫秒
long nowTime = System.currentTimeMillis();
System.out.println(nowTime);
算时差
long nowTime = System.currentTimeMillis();
System.out.println(nowTime);
long start = System.currentTimeMillis( );
Thread.sleep(3000);
long end = System.currentTimeMillis( );
long diff = end - start;
System.out.println("Difference is : " + diff);
用毫秒数转为Date
Date date = new Date(currentTimeMillis);
Date(long date)
分配一个
Date
对象,并将其初始化为表示自称为“时代”的标准基准时间以后的指定毫秒数,即1970年1月1日00:00:00 GMT。
先转为Date,在进行格式化
long currentTimeMillis = System.currentTimeMillis();
Date date = new Date(currentTimeMillis);
SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyy-MM-dd HH-mm-ss");
String format = simpleDateFormat.format(date);
System.out.println(format);
//求前一天的这个时间点
long l = currentTimeMillis - 1000 * 60 * 60 * 24;
Date date1 = new Date(l);
String format1 = simpleDateFormat.format(date1);
System.out.println(format1);