关于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日期函数,但我似乎无法在任何地方找到任何解释。这搞砸了我的时间跨度计算器。
This will probably be a dumb question, but I don't understand the java date function. Here is some code:
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()));
If var = "10:00" I get "64800000".
If var = "11:00" I get "68400000".
If var = "12:00" I get "28800000".
If var = "13:00" I get "75600000".
If var = "14:00" I get "79200000".
If var = "00:00" I get "28800000".
What is up with 12:00? Why, when var=12:00 do I get the same result as when it's 00:00? All the other results seem correct. I obviously don't understand the java date function, but I can't seem to find any explanation for this anywhere. This is screwing up my time span calculator.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
如果要使用24小时时间,则需要使用大写的HH格式:
If you want to use 24-hour time, you need to use the capital HH format:
我应该使用“H”而不是“h”。 “h”代表 am/pm 格式。
I should have used "H" instead of "h". "h" is for am/pm format.