- c - 在位数组中找到第一个零
- linux - Unix 显示有关匹配两种模式之一的文件的信息
- 正则表达式替换多个文件
- linux - 隐藏来自 xtrace 的命令
我正在格式化一个 UTC 日期,我希望它以本地时间显示。但是,使用 withZone(ZoneId.systemDefault());
什么都不做。这是一些代码,d
和 d2
的值相同,但我希望 d2 早 6 小时,因为我在 MST。
public static final String DATE_TIME_PATTERN = "uuuuMMddHHmmss";
String date = "20160908222020";
DateTimeFormatter formatter = DateTimeFormatter.ofPattern(DATE_TIME_PATTERN).withZone(ZoneId.systemDefault());
LocalDateTime d = LocalDateTime.parse(date, formatter);
DateTimeFormatter formatter2 = DateTimeFormatter.ofPattern(DATE_TIME_PATTERN);
LocalDateTime d2 = LocalDateTime.parse(date, formatter2);
最佳答案
使用 SimpleDateFormat,更容易理解正在发生的事情(这种方法对我有用)。
public static final String SOURCE_DATE_FORMAT = "yyyyMMddHHmmss";
String date = "20160908222020";
SimpleDateFormat sourceDateFormat = new SimpleDateFormat(SOURCE_DATE_FORMAT);
sourceDateFormat.setTimeZone("UTC"); // set this to whatever the source time zone is
String adjustedDate = "";
try {
Date parsedDate = sourceDateFormat.parse(date);
adjustedDate = DateFormat.getDateTimeInstance().format(parsedDate); // getDateTimeInstance() returns the local date/time format (in terms of language/locale and time zone) of the device and format() formats the parsed date to fit that instance
} catch (ParseException e) {
e.printStackTrace();
}
关于java - Android DateTimeFormatter withZone 不工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39452990/
我在 Coldfusion 中使用 Java 对象,因此我的代码有点不对劲。 我有一个看起来有点像这样的函数: function getJODAOffset(sTimezone){ local
java.time.Clock 提供对 millis 和 instant 的访问,但无法访问任何依赖时区的内容。然而它包含一个时区并且需要一个用于构建。它似乎只用于 equals/hashcode。
我正在格式化一个 UTC 日期,我希望它以本地时间显示。但是,使用 withZone(ZoneId.systemDefault()); 什么都不做。这是一些代码,d 和 d2 的值相同,但我希望 d2
这两个 DateTime 的方法有什么区别? DateTime.withZone(DateTimeZone zone) DateTime.toDateTime(DateTimeZone zone) ?
这个问题已经有答案了: DateFormatter is not printing value in the given format (2 个回答) 已关闭 2 年前。 我有下面的代码 fi
在时区之间转换时间时。我发现以下代码有效。但是,我不确定如何以编程方式将什么作为 ZonedDateTime 的构造函数的偏移量。 .我可以选择 zoneChicago 上的一个偏移量,它只有两个,因
我是一名优秀的程序员,十分优秀!