NebulaGraph Java Client  release-3.8
TimeUtil.java
1 /* Copyright (c) 2021 vesoft inc. All rights reserved.
2  *
3  * This source code is licensed under Apache 2.0 License.
4  */
5 
6 package com.vesoft.nebula.client.graph.data;
7 
8 import com.vesoft.nebula.DateTime;
9 import com.vesoft.nebula.Time;
10 import java.time.LocalDateTime;
11 import java.time.OffsetDateTime;
12 import java.time.ZoneOffset;
13 
14 public class TimeUtil {
20  public static DateTime datetimeConvertWithTimezone(DateTime dateTime, int timezoneOffset) {
21  LocalDateTime localDateTime = LocalDateTime.of(dateTime.getYear(),
22  dateTime.getMonth(),
23  dateTime.getDay(),
24  dateTime.getHour(),
25  dateTime.getMinute(),
26  dateTime.getSec(),
27  dateTime.getMicrosec() * 1000);
28  ZoneOffset zoneOffset = ZoneOffset.ofTotalSeconds(timezoneOffset);
29  OffsetDateTime utcOffsetDateTime = localDateTime.atOffset(ZoneOffset.UTC);
30  OffsetDateTime localOffsetDateTime = utcOffsetDateTime.withOffsetSameInstant(zoneOffset);
31  return new DateTime((short) localOffsetDateTime.getYear(),
32  (byte) localOffsetDateTime.getMonth().getValue(),
33  (byte) localOffsetDateTime.getDayOfMonth(),
34  (byte) localOffsetDateTime.getHour(),
35  (byte) localOffsetDateTime.getMinute(),
36  (byte) localOffsetDateTime.getSecond(),
37  localOffsetDateTime.getNano() / 1000);
38  }
39 
45  public static Time timeConvertWithTimezone(Time time, int timezoneOffset) {
46  DateTime dateTime = new DateTime(
47  (short) 0,(byte)1, (byte)1,
48  time.getHour(), time.getMinute(), time.getSec(), time.getMicrosec());
49  DateTime localDateTime = datetimeConvertWithTimezone(dateTime, timezoneOffset);
50  return new Time(localDateTime.getHour(),
51  localDateTime.getMinute(),
52  localDateTime.getSec(),
53  localDateTime.getMicrosec());
54  }
55 }
static Time timeConvertWithTimezone(Time time, int timezoneOffset)
Definition: TimeUtil.java:45
static DateTime datetimeConvertWithTimezone(DateTime dateTime, int timezoneOffset)
Definition: TimeUtil.java:20