繁体   English   中英

关于java SimpleDateFormat的简单问题

[英]Simple question about java SimpleDateFormat

这可能是一个愚蠢的问题,但我不懂java日期函数。 这是一些代码:

SimpleDateFormat sdf = new SimpleDateFormat("hh:mm");
Date s = sdf.parse(var);
Calendar scal = java.util.GregorianCalendar.getInstance();
scal.setTime(s);   
Log.w("Time: ", Long.toString(s.getTime()));

如果var =“10:00”,我得到“64800000”。

如果var =“11:00”,我得到“68400000”。

如果var =“12:00”,我得到“28800000”。

如果var =“13:00”,我得到“75600000”。

如果var =“14:00”,我得到“79200000”。

如果var =“00:00”,我得到“28800000”。

什么是12:00? 为什么,当var = 12:00时,我得到与00:00时相同的结果? 所有其他结果似乎都是正确的。 我显然不理解java日期函数,但我似乎无法在任何地方找到任何解释。 这搞砸了我的时间跨度计算器。

如果您想使用24小时制,则需要使用大写HH格式:

SimpleDateFormat sdf = new SimpleDateFormat("HH:mm"); 

我应该使用“H”而不是“h”。 “h”代表am / pm格式。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM