作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
考虑以下字符串是 UTC 时间,我希望使用 java 以毫秒为单位的等效时间。
String flcDate = "2018-09-07 05:45:00.0";
String geofenceDate = "2018-07-27 08:42:20";
我正在尝试下面的代码,但它会根据我所在的时区更改毫秒数。
public static long stringToMilliSeconds(String string) throws ParseException {
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd hh:mm:ss");
Calendar calendar = Calendar.getInstance(TimeZone.getTimeZone("UTC"));
TimeZone fromTimeZone = calendar.getTimeZone();
TimeZone.setDefault(TimeZone.getTimeZone("UTC"));
calendar.setTimeZone(fromTimeZone);
calendar.setTime(sdf.parse(string));
System.out.println(calendar.getTime().toString());
return calendar.getTime().getTime();
}
最佳答案
这使用本地日期时间和即时转换字符串。
return LocalDateTime.parse("2018-09-07 05:45:00.0",
DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss.S"))
.toInstant(ZoneOffset.UTC)
.toEpochMilli(); //1536299100000
生成的 long
表示输入日期/时间(UTC 时间)的 Epoch 毫秒数:
Instant.ofEpochMilli(1536299100000L) ==> 2018-09-07T05:45:00Z
对于第二个字符串,DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss")
可以用作格式化程序。
关于java - 如何将(UTC 中的字符串)日期转换为毫秒而不影响其在 Java 中的时区,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52251795/
我是一名优秀的程序员,十分优秀!