我面临着“yyyy:mm:ss”日期解析模式的奇怪行为。下面是我的密码。
public static void main(String[] args) throws Exception {
System.out.println(parseDate("2018-08-16 11:00:00"));
System.out.println(parseDate("2018-08-16 12:00:00"));
System.out.println(parseDate("2018-08-16 13:00:00"));
}
public static Date parseDate(String date) throws Exception {
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd hh:mm:ss");
return sdf.parse(date);
}我得到了下面的输出
清华8月16日11:00:2018年世界协调时 清华8月16日:2018年世界协调世界时 清华8月16日13:00:2018年世界协调世界时
我不明白为什么“2018-16: 00:00:00”的第二个输出是清华8月16 :00:00:00 2018年,而不是清华8月16 : 12:00:00 :2018年。
查看来自这里的日期解析模式的文档。上面写着
H上午/下午->小时(1-12)
有人能解释一下吗?感谢你的期待。
发布于 2018-08-17 07:23:40
你换了一条线
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd hh:mm:ss");至
DateFormat writeFormat = new SimpleDateFormat( "yyyy-MM-dd HH:mm:ss");小时日期格式如下所示,
kk :- Hours in 1-24 format
hh :- hours in 1-12 format
KK :- hours in 0-11 format
HH :- hours in 0-23 format发布于 2018-08-17 06:06:46
希望这能有所帮助
public static void main(String[] args) throws Exception {
System.out.println(parseDate("2018-08-16 11:00:00 AM"));
System.out.println(parseDate("2018-08-16 12:00:00 PM"));
System.out.println(parseDate("2018-08-16 13:00:00 AM"));
}
public static Date parseDate(String date) throws Exception {
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd hh:mm:ss a");
return sdf.parse(date);
}输出
Thu Aug 16 11:00:00 IST 2018 Thu Aug 16 12:00:00 IST 2018 Thu Aug 16 13:00:00 IST 2018
发布于 2018-08-17 06:20:28
您应该使用H而不是hh来表示Hour in day (0-23):
TestP:
public class TestP{
public static void main(String[] args) throws Exception {
System.out.println(parseDate("2018-08-16 11:00:00"));
System.out.println(parseDate("2018-08-16 12:00:00"));
System.out.println(parseDate("2018-08-16 13:00:00"));
System.out.println(parseDate("2018-08-16 23:00:00"));
}
public static Date parseDate(String date) throws Exception {
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd H:mm:ss");
return sdf.parse(date);
}
}输出:
Thu Aug 16 11:00:00 CLST 2018
Thu Aug 16 12:00:00 CLST 2018
Thu Aug 16 13:00:00 CLST 2018
Thu Aug 16 23:00:00 CLST 2018https://stackoverflow.com/questions/51889089
复制相似问题