gpt4 book ai didi

java - 如何将 Google 的 DateTime 对象转换为 long 类型值?

转载 作者:行者123 更新时间:2023-12-02 05:16:19 25 4
gpt4 key购买 nike

我正在尝试将数据库与网络应用程序集成,该应用程序从 Google Calendar API 中提取事件数据,并将数据输入数据库。以下代码与 Google 提供的 Quickstart 类相同。

我基本上希望将“DateTime start”转换为“long start”。我需要 SQL 的长值。

import com.google.api.client.util.DateTime;

// ...

DateTime now = new DateTime(System.currentTimeMillis());
Events events = service.events().list(calendarId)
.setTimeMin(now)
.setOrderBy("startTime")
.setSingleEvents(true)
.execute();
List<Event> items = events.getItems();
if (items.isEmpty()) {
System.out.println("No upcoming events found.");
} else {
System.out.println("Upcoming events");
for (Event event : items) {
DateTime start = event.getStart().getDateTime();
DateTime end = event.getEnd().getDateTime();
if (start == null) {
start = event.getStart().getDate();
}
System.out.printf("%s\n", start.toString());

最佳答案

Google 已在 Google HTTP 客户端库中实现了 Rfc3339 解析器。您可以先尝试解析它,然后使用 DateTime.getValue() 函数将其转换为 long。您还可以尝试使用 DatetimeFormatter 将其格式化为您想要的值的方式。

DateTimeFormatter formatter = DateTimeFormatter
.ofPattern("yyyy-MM-dd'T'HH:mm:ss.SSS'Z'")
.withZone(ZoneId.of("UTC"));
public void convertDatetime() {
String timeStamp = "2019-05-24T11:32:26.553955473Z";

DateTime dateTime = DateTime.parseRfc3339(timeStamp);
long millis = dateTime.getValue();

String result = formatter.format(new Date(millis).toInstant());

关于java - 如何将 Google 的 DateTime 对象转换为 long 类型值?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56290092/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com