我想将datetime-local从html转换为UTC时间:
html:
<label>Start Time:</label><input type="datetime-local" name="start_time" />
Java:
request.getParameter("start_time") // print out ex:2021-01-07T10:42
即本地时间(GMT 8),我想将其转换为UTC字符串时间
例如:转换为-
我搜索了很多资源,但仍然不知道怎么做。
java.time是现代Java日期和时间API。我建议我们将其用于日期和时间工作。它是Joda-Time的继任者,并于2014年推出Java1.8。它还在Threeten Backport中被反向移植到Java1.6和1.7。使用Threten Backport,我们可以:
String startTime = "2021-01-07T10:42";
OffsetDateTime utcTime = LocalDateTime.parse(startTime)
.atZone(ZoneId.systemDefault())
.toOffsetDateTime()
.withOffsetSameInstant(ZoneOffset.UTC);
System.out.println(utcTime);
我在亚洲/上海时区Java1.7(偏移08:00)运行了这段代码。然后输出是:
2021-01-07T02:42Z
时间符合你的要求。它以UTC为单位,由后面的Z表示。
如果要明确从哪个时区转换,而不是分区ID。systemDefault()使用类似ZoneId的内容。“亚洲/香港”)。最好以地区/城市格式提供相关的时区ID,而不仅仅是GMT偏移量。
为什么要使用外部库进行转换?Java语言时间是日期和时间的未来证明库。一旦转到Java 8、9、10、11、12、13、14、15、16或更高版本,请更改导入以使用内置Java。再测试一次,您的代码就是最先进的。请注意,关于转换为UTC的代码是如何明确的,发生了什么也不奇怪。Java语言和时间一起工作真是太好了。
java.time
。java.time
反向移植到Java6和7(Threeten for JSR-310)。在ISO-8601格式中,您可以将时区偏移量附加到字符串和java中。时间Instant知道如何处理这样的问题:
Instant result = Instant.parse("2021-01-08T09:36:29+08:00");
System.out.println(result);
打印出:<代码>2021 01-08T01:36:29Z
问题内容: 我知道已经有很多关于将UTC时间/日期转换为本地时间/从本地时间转换为答案的帖子,但是没有帮助我弄清楚我的问题是什么。我的问题是:通过具有UTC时间戳,我如何获取本地DateTime?这就是我现在所拥有的,但这只是将时间戳转换为DateTime格式。 编辑:我将UTC时间戳保存在云中,以便每个设备(Android / iOS)都可以查询并将其转换为时区。 问题答案: 试试这个与我一起工
问题内容: 我知道这个主题已被殴打致死,但在搜寻了这个问题几个小时之后,我不得不问。 我的问题:根据客户端应用程序(iphone)的当前时区对服务器上的日期进行计算。客户端应用程序以秒为单位告诉服务器,其时区距GMT的距离。然后,我想使用此信息对服务器中的日期进行计算。服务器上的日期都存储为UTC时间。 因此,在将UTC日期对象转换为该本地时区之后,我想获取其HOUR。 我目前的尝试: 变量小时和
问题内容: 我有一个毫秒本地本地时间戳,我想将其转换为毫秒本地UTC时间戳。快速浏览一下文档,看起来像这样工作: 有一个更好的方法吗? 问题答案: 使用a 来获取本地纪元处的偏移量,然后将其添加到本地纪元时间戳中。
问题内容: 我有一个UTC时区,例如: 还有一个pytz时区对象: 转换为给定时区的正确方法是什么? 问题答案: 我想我明白了: 这行代码首先将朴素的(不了解时区的) 对象转换为包含时区(UTC)的对象。然后,它使用该功能根据请求的时区调整时间。
如何将Java对象从本地时间转换为UTC?这是我尝试过的: 时间总是以MT而非GMT显示。我想将日历以UTC存储在数据库中(我不关心时间的格式或显示)。
我想使用moment.js将本地时间转换为等价的UTC。我相信我已经有了正确的方法,但它不会改变时间。 我在悉尼,澳大利亚+11,预计协调世界时将早11个小时。 在moment对象内部,isUTC标志从false变为true,但时间没有改变,我是不是打算为此使用一种不同的技术。 转换后