- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我想使用基于 UTC 的不同时间偏移来打印 now():
offset=ZoneOffset.ofHours(-1);
zoneId=ZoneId.ofOffset("UTC", offset);
timeStampformater=DateTimeFormatter.ofPattern("yyyy.MM.dd.hh.mm.ss").withZone(zoneId);
System.out.println(LocalDateTime.now().format(timeStampformater));
offset=ZoneOffset.ofHours(0);
zoneId=ZoneId.ofOffset("UTC", offset);
timeStampformater=DateTimeFormatter.ofPattern("yyyy.MM.dd.hh.mm.ss").withZone(zoneId);
System.out.println(LocalDateTime.now().format(timeStampformater));
offset=ZoneOffset.ofHours(1);
zoneId=ZoneId.ofOffset("UTC", offset);
timeStampformater=DateTimeFormatter.ofPattern("yyyy.MM.dd.hh.mm.ss").withZone(zoneId);
System.out.println(LocalDateTime.now().format(timeStampformater));
但是它总是打印相同的本地时间:
2015.12.15.09.56.00 -> should be 7:56
2015.12.15.09.56.00 -> should be 8:56
2015.12.15.09.56.00 -> OK because it is the local time.
最佳答案
方法DateTimeFormatter.withZone
不更改日期/时间。在内部,格式化程序将时区设置为要格式化的日期/时间,然后对其进行格式化。引用其 Javadoc:
In all other cases, the override zone is added to the temporal, replacing any previous zone, but without changing the date/time.
LocalDateTime.now()
始终返回默认时区中的当前日期/时间。使用特定的 ZoneId
或 ZoneOffset
设置时区(使用 atZone
创建 ZonedDateTime
),您将获得相同的日期/时间,但在不同的时区(因此是不同的时刻)。
相反,您应该通过使用 LocalDateTime.now(ZoneId)
指定 ZoneId
或 ZoneOffset
来构造 LocalDateTime
:
offset = ZoneOffset.ofHours(-1);
zoneId = ZoneId.ofOffset("UTC", offset);
timeStampformater = DateTimeFormatter.ofPattern("yyyy.MM.dd.hh.mm.ss");
System.out.println(LocalDateTime.now(zoneId).format(timeStampformater));
offset = ZoneOffset.ofHours(0);
zoneId = ZoneId.ofOffset("UTC", offset);
timeStampformater = DateTimeFormatter.ofPattern("yyyy.MM.dd.hh.mm.ss");
System.out.println(LocalDateTime.now(zoneId).format(timeStampformater));
offset = ZoneOffset.ofHours(1);
zoneId = ZoneId.ofOffset("UTC", offset);
timeStampformater = DateTimeFormatter.ofPattern("yyyy.MM.dd.hh.mm.ss");
System.out.println(LocalDateTime.now(zoneId).format(timeStampformater));
请注意,您可以通过不使用 ZoneId
变量来简化代码。
offset = ZoneOffset.ofHours(-1);
timeStampformater = DateTimeFormatter.ofPattern("yyyy.MM.dd.hh.mm.ss");
System.out.println(LocalDateTime.now(offset).format(timeStampformater));
关于java - 带 ZoneOffset 的时间戳格式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34284969/
我得到的 LocalDateTime 比实际时间少两个小时。我如何获得德国的偏移时间,柏林时间为我的以下代码谢谢。 LocalDateTime dateTime = LocalDateTime.ofE
本文整理了Java中java.time.ZoneOffset.from()方法的一些代码示例,展示了ZoneOffset.from()的具体用法。这些代码示例主要来源于Github/Stackover
本文整理了Java中java.time.ZoneOffset.of()方法的一些代码示例,展示了ZoneOffset.of()的具体用法。这些代码示例主要来源于Github/Stackoverflow
为什么只有当 TotalSeconds 是一刻钟的倍数时,ZoneOffset.ofTotalSeconds(int TotalSeconds)才对 ZoneOffset 使用缓存? if (tota
我想使用基于 UTC 的不同时间偏移来打印 now(): offset=ZoneOffset.ofHours(-1); zoneId=ZoneId.ofOffset("UTC", offset); t
本文整理了Java中java.time.ZoneOffset.getRules()方法的一些代码示例,展示了ZoneOffset.getRules()的具体用法。这些代码示例主要来源于Github/S
本文整理了Java中java.time.ZoneOffset.normalized()方法的一些代码示例,展示了ZoneOffset.normalized()的具体用法。这些代码示例主要来源于Gith
本文整理了Java中java.time.ZoneOffset.ofHoursMinutesSeconds()方法的一些代码示例,展示了ZoneOffset.ofHoursMinutesSeconds(
本文整理了Java中java.time.ZoneOffset.getLong()方法的一些代码示例,展示了ZoneOffset.getLong()的具体用法。这些代码示例主要来源于Github/Sta
本文整理了Java中java.time.ZoneOffset.hashCode()方法的一些代码示例,展示了ZoneOffset.hashCode()的具体用法。这些代码示例主要来源于Github/S
本文整理了Java中java.time.ZoneOffset.equals()方法的一些代码示例,展示了ZoneOffset.equals()的具体用法。这些代码示例主要来源于Github/Stack
本文整理了Java中java.time.ZoneOffset.compareTo()方法的一些代码示例,展示了ZoneOffset.compareTo()的具体用法。这些代码示例主要来源于Github
本文整理了Java中java.time.ZoneOffset.getTotalSeconds()方法的一些代码示例,展示了ZoneOffset.getTotalSeconds()的具体用法。这些代码示
本文整理了Java中java.time.ZoneOffset.ofHours()方法的一些代码示例,展示了ZoneOffset.ofHours()的具体用法。这些代码示例主要来源于Github/Sta
本文整理了Java中java.time.ZoneOffset.toString()方法的一些代码示例,展示了ZoneOffset.toString()的具体用法。这些代码示例主要来源于Github/S
本文整理了Java中java.time.ZoneOffset.systemDefault()方法的一些代码示例,展示了ZoneOffset.systemDefault()的具体用法。这些代码示例主要来
本文整理了Java中java.time.ZoneOffset.ofHoursMinutes()方法的一些代码示例,展示了ZoneOffset.ofHoursMinutes()的具体用法。这些代码示例主
本文整理了Java中java.time.ZoneOffset.getId()方法的一些代码示例,展示了ZoneOffset.getId()的具体用法。这些代码示例主要来源于Github/Stackov
本文整理了Java中java.time.ZoneOffset.ofTotalSeconds()方法的一些代码示例,展示了ZoneOffset.ofTotalSeconds()的具体用法。这些代码示例主
本文整理了Java中org.threeten.bp.ZoneOffset.of()方法的一些代码示例,展示了ZoneOffset.of()的具体用法。这些代码示例主要来源于Github/Stackov
我是一名优秀的程序员,十分优秀!