0
d0 = "2018-01-01 00:00:00";
SimpleDateFormat formate = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
Date d1 = (Date) formate.parseObject(d0);
String result =  DateUtils.formatDate(d1, "yyyy-MM-dd hh:mm:ss");
System.out.println(result);

为什么返回的是2017-12-31 04:00:00
???

补充:

DateUtils.formatDate 

\apache\httpcomponents\httpclient\4.5.1\httpclient-4.5.1.jar

里面的方法:

public static String formatDate(Date date, String pattern) {
    Args.notNull(date, "Date");
    Args.notNull(pattern, "Pattern");
    SimpleDateFormat formatter = DateUtils.DateFormatHolder.formatFor(pattern);
    return formatter.format(date);
}
inchei 196
4 天前提问

查看全部 3 个回答

0

好好看看API 看看HhMm都代表什么

推荐答案

1

已采纳

clipboard.png
如图,DateUtils用的也是SimpleFormat,但是它设置了时区和中国的时间相差8个小时
至于hh和HH的区别是一个12小时进制,一个是24小时进制

你可能感兴趣的

推广链接