直接上代码:
package com.weixun.api;
import java.text.SimpleDateFormat;
import java.util.Date;
public class CollectionsTest {
public static void main(String[] args) {
Date date = new Date();
SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss.SSS");
SimpleDateFormat simpleDateFormat2 = new SimpleDateFormat("yyyy-MM-dd hh:mm:ss.SSS");
System.out.println(simpleDateFormat.format(date));
System.out.println(simpleDateFormat2.format(date));
}
}
运行结果:
2019-04-28 17:51:16.998
2019-04-28 05:51:16.998
由此可见在java中
yyyy:代表年
MM:代表月(MM和M一样,区别就是MM表示从零开始,比如四月份,MM显示04,M显示4,后面的如同)
dd:代表日
HH:代表24小时制的小时
hh:代表12小时制的小时
mm:代表分钟
ss:代表秒
SSS:代表毫秒
重点(踩坑的点):oracle和java的表达式不一样
yyyy-MM-dd HH24:mi:ss和 yyyy-MM-dd HH:mi:ss,分别代表oracle中的24小时制和12小时制
原因:oracle和java不同,因为oracle是不区分大小写的,所以java中可以根据大小写来代表24小时和12小时的表达式。但是在oracle中就会出问题,oracle中将24小时的小时和分钟做了特殊处理.如上所示,在HH后面加上了24,将mm改为了mi,而一旦不注意取到的时间就会出问题!