- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
有谁知道为什么 Date 在从 String 转换时会丢失时间值?我似乎无法弄清楚这一点。
这是我使用的 SimpleDateFormat
类型:
SimpleDateFormat simpleDateFormat = new SimpleDateFormat("EEE MM/dd/yyyy HH:mm a");
我尝试转换的日期是以下形式的字符串:
String dateString = "Mon 06/23/2014 03:00 PM";
当我执行以下操作时:
Date convertDateFromString = null;
try{
convertDateFromString = simpleDateFormat.parse(dateString);
}catch(ParseException ex){
ex.printStackTrace();
}
System.out.println(convertDateFromString.getTime());
我的输出是:1403496000000
预期输出为:1403550000000
有人可以帮助我理解为什么时间没有被解析吗?
更新 - 已解决 --->> 在 Jon Skeet 的帮助下
现在使用这个 SimpleDateFormat
SimpleDateFormat simpleDateFormat = new SimpleDateFormat("EEE MM/dd/yyyy hh:mm a", Locale.getDefault());
现在输出是正确的。
最佳答案
您已在格式中指定了 HH
,即 24 小时格式。但您还有一个 AM/PM 指示符。
因此,“03:00 PM”没有意义 - 它同时尝试表示凌晨 3 点(24 小时内的 03 点)和下午 3 点(数据中的下午)。
听起来您可能希望在格式字符串中使用 hh
作为 12 小时说明符。
这是问题的部分。接下来是时区。您的预期值 (1403550000000) 代表 2014-06-23 19:00:00Z。因此,您可能希望使用当前比 UTC 晚 4 小时的时区。
您目前的实际值 (1403496000000) 是 2014-06-23 04:00:00Z...因此它似乎是在比 UTC 晚 1 小时的时区中解析的。
您需要确定数据所在的时区,并在 SimpleDateFormat
中明确指定。
关于java - 字符串到日期的转换正在浪费时间,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24452905/
Webassembly:我找不到此语法的引用 (f32.const -0x0p+0) .它代表什么数字/位模式?它来自引用解释器的测试文件: https://github.com/WebAssembl
分析后,我发现我的程序有很大一部分内存被多重虚拟继承所浪费。 这是 MCVE 来演示问题 ( http://coliru.stacked-crooked.com/a/0509965bea19f8d9
如何在通过多个加载语句插入记录时避免跳过主 ID? 我通过 LOAD 语句将包含 150 条记录的文件插入到表中。 插入后表中最后一个primary id为150。 现在,当我通过加载语句插入另一个包
我开始了一份新工作,我正在工作的项目部分的结构非常奇怪。每个页面都是一个 .Net aspx 页面,并且加载得很好,但在加载时并没有真正执行任何操作。一切实际上都是从 jquery document.
我是一名优秀的程序员,十分优秀!