NebulaGraph Java Client  release-3.8
DateTimeWrapper.java
1 /* Copyright (c) 2020 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 java.util.Objects;
10 
11 public class DateTimeWrapper extends BaseDataObject {
12  private final DateTime dateTime;
13 
14  public DateTimeWrapper(DateTime dateTime) {
15  this.dateTime = dateTime;
16  }
17 
21  public short getYear() {
22  return dateTime.getYear();
23  }
24 
28  public byte getMonth() {
29  return dateTime.getMonth();
30  }
31 
35  public byte getDay() {
36  return dateTime.getDay();
37  }
38 
42  public byte getHour() {
43  return dateTime.getHour();
44  }
45 
49  public byte getMinute() {
50  return dateTime.getMinute();
51  }
52 
56  public byte getSecond() {
57  return dateTime.getSec();
58  }
59 
63  public int getMicrosec() {
64  return dateTime.getMicrosec();
65  }
66 
70  public DateTime getLocalDateTime() {
71  return TimeUtil.datetimeConvertWithTimezone(dateTime, getTimezoneOffset());
72  }
73 
77  public DateTime getDateTimeWithTimezoneOffset(int timezoneOffset) {
78  return TimeUtil.datetimeConvertWithTimezone(dateTime, timezoneOffset);
79  }
80 
84  public String getLocalDateTimeStr() {
85  DateTime localDateTime = TimeUtil.datetimeConvertWithTimezone(dateTime,
86  getTimezoneOffset());
87  return String.format("%d-%02d-%02dT%02d:%02d:%02d.%06d",
88  localDateTime.year, localDateTime.month, localDateTime.day,
89  localDateTime.hour, localDateTime.minute, localDateTime.sec,
90  localDateTime.microsec);
91  }
92 
96  public String getUTCDateTimeStr() {
97  return String.format("%d-%02d-%02dT%02d:%02d:%02d.%06d",
98  dateTime.year, dateTime.month, dateTime.day,
99  dateTime.hour, dateTime.minute, dateTime.sec, dateTime.microsec);
100  }
101 
105  @Override
106  public String toString() {
107  return String.format("utc datetime: %d-%02d-%02dT%02d:%02d:%02d.%06d, timezoneOffset: %d",
108  dateTime.year, dateTime.month, dateTime.day,
109  dateTime.hour, dateTime.minute, dateTime.sec, dateTime.microsec, getTimezoneOffset());
110  }
111 
112  @Override
113  public boolean equals(Object o) {
114  if (this == o) {
115  return true;
116  }
117  if (o == null || getClass() != o.getClass()) {
118  return false;
119  }
120  DateTimeWrapper that = (DateTimeWrapper) o;
121  return dateTime.year == that.getYear()
122  && dateTime.month == that.getMonth()
123  && dateTime.day == that.getDay()
124  && dateTime.hour == that.getHour()
125  && dateTime.minute == that.getMinute()
126  && dateTime.sec == dateTime.getSec()
127  && dateTime.microsec == dateTime.getMicrosec();
128  }
129 
130  @Override
131  public int hashCode() {
132  return Objects.hash(dateTime);
133  }
134 }
DateTime getDateTimeWithTimezoneOffset(int timezoneOffset)
static DateTime datetimeConvertWithTimezone(DateTime dateTime, int timezoneOffset)
Definition: TimeUtil.java:20