当前位置: 首页 > 知识库问答 >
问题:

将给定日期转换为UTC日期时间

羊舌胡非
2023-03-14
String date = "2017-01-01"
//Needed startDate as 2017-01-01T00:00:00Z
//and end date as 2017-01-01T23:59:59Z

共有1个答案

劳烨
2023-03-14

这取决于您的java版本,而且一如既往,有许多方法可以解决这个问题。有了Java8,您可以执行以下操作:

首先,您需要将日期解析为java.time.localdate

String date = "2017-01-01";
final LocalDate localDate = LocalDate.parse(date);
System.out.println(localDate);

哪个打印

2017-01-01
final ZoneId utc = ZoneId.of("UTC");
final ZonedDateTime start = LocalDate.parse(date).atStartOfDay(utc);
final ZonedDateTime end = LocalDate.parse(date).atTime(23, 59, 59).atZone(utc);
System.out.println(end); 

这个指纹

2017-01-01T00:00Z[UTC]
2017-01-01T23:59:59Z[UTC]

关于结束日期的通知,您还可以执行

final ZoneId utc = ZoneId.of("UTC");
final ZonedDateTime end = LocalDate.parse(date).atTime(LocalTime.MAX).atZone(utc);

这就给了你更多的数字

2017-01-01T23:59:59.999999999Z[UTC]
 类似资料:
  • 问题内容: 我需要一种简便的方法,可以在不使用任何库的情况下将日期时间戳转换为UTC(从服务器所在的任何时区)。 问题答案: 尝试getTimezone和setTimezone,请参见示例 (但这确实使用了一个类) 更新: 没有任何类,您可以尝试这样的事情: 注意:您可能还需要将时区设置回原始

  • 问题内容: 从服务器上,我得到了这种格式的datetime变量:它是UTC时间。我想使用JavaScript将其转换为当前用户的浏览器时间。 如何使用JavaScript或jQuery完成此操作? 问题答案: 在将字符串转换为javascript中的日期之前,将’UTC’附加到字符串中:

  • 问题内容: 我对当前UTC时间以毫秒为单位不感兴趣,也无需弄乱时区。我的原始日期已经存储为UTC时间戳。 我在UTC时间“ 2012-06-14 05:01:25”中存储了一个日期。我对日期时间不感兴趣,但对日期部分感兴趣。因此,在用Java检索日期并排除小时,分钟和秒之后,我剩下的是“ 2012-06-14”。 如何将其转换为UTC毫秒? 问题答案: 编辑:我错过了“忽略一天中的时间”部分。它现

  • 我正在尝试将格式为的UTC日期字符串转换为类似的时区。 和之间的时间偏移量为,因此将转换为的预期结果为但我得到的是 我认为是将减法而不是添加转换为。我的机器处于UTC时区。可能是它转换为当地时间,不知道是什么问题。下面的方法也试了,还是一样的问题。

  • 问题内容: 我需要有关此java方法的一些建议。此方法的目的是采用表示日期的字符串-该字符串是从EST时区中的日期创建的-并将其转换为UTC时区中的java Date对象。 我看到的问题是dt的值似乎已关闭。例如,如果dateString为‘10 / 16/2012 12:06 PM’-我期望dt(以UTC为单位)的值类似于“ 2012年10月16日,星期二,下午4:06”。取而代之的是,dt的值

  • 周日->明谷-0 周一->赛宁-1 周二->Selasa-2 帮我谢谢