Skip to content

Commit

Permalink
up dt
Browse files Browse the repository at this point in the history
  • Loading branch information
youfanx committed Jul 5, 2024
1 parent a35cdf7 commit 495efa1
Show file tree
Hide file tree
Showing 2 changed files with 23 additions and 23 deletions.
3 changes: 1 addition & 2 deletions rxlib/src/main/java/org/rx/bean/DateTime.java
Original file line number Diff line number Diff line change
Expand Up @@ -36,14 +36,13 @@ public final class DateTime extends Date {
public static final String[] FORMATS = new String[]{ISO_DATE_TIME_FORMAT, "yyyy-MM-dd HH:mm:ss.SSSZ", "yyyy-MM-dd HH:mm:ss.SSS",
DATE_TIME_FORMAT, DATE_FORMAT, TIME_FORMAT,
"yyyyMMddHHmmssSSS"};
static final TimeZone UTC_ZONE = TimeZone.getTimeZone("UTC");

public static DateTime now() {
return new DateTime(System.currentTimeMillis(), TimeZone.getDefault());
}

public static DateTime utcNow() {
return new DateTime(System.currentTimeMillis(), UTC_ZONE);
return new DateTime(System.currentTimeMillis(), TimeZone.getTimeZone("UTC"));
}

public static DateTime ofToNull(Date d) {
Expand Down
43 changes: 22 additions & 21 deletions rxlib/src/test/java/org/rx/bean/TestBean.java
Original file line number Diff line number Diff line change
Expand Up @@ -183,33 +183,34 @@ public void decimal() {
public void dateTime() {
DateTime now = DateTime.now();
DateTime utc = DateTime.utcNow();
DateTime d = new DateTime(2010, Month.AUGUST, 24, 11, 12, 13, TimeZone.getDefault());
DateTime d3 = new DateTime(2010, Month.AUGUST, 23, 11, 12, 13, TimeZone.getDefault());
log.info("now={}[{}] utc={}[{}]", now, now.getTime(), utc, utc.getTime());
// assert now.getTime() == utc.getTime();

assert now.getTime() == utc.getTime();
assert d.getYear() == 2010;
assert d.getMonth() == 8;
assert d.getDay() == 24;
DateTime a = new DateTime(2010, Month.AUGUST, 24, 11, 12, 13, TimeZone.getDefault());
DateTime b = new DateTime(2010, Month.AUGUST, 23, 11, 12, 13, TimeZone.getDefault());
assert a.getYear() == 2010;
assert a.getMonth() == 8;
assert a.getDay() == 24;

DateTime d2 = d.addYears(1);
assert d.getYear() == 2010;
DateTime d2 = a.addYears(1);
assert a.getYear() == 2010;
assert d2.getYear() == 2011;
assert d.subtract(d3).getTotalHours() == 24;
assert a.subtract(b).getTotalHours() == 24;

long ts = d.getTime();
long ts = a.getTime();
System.out.println(ts);
System.out.println(d);
System.out.println(a);
String sts = String.valueOf(ts);
System.out.println(d.toString(DateTime.ISO_DATE_TIME_FORMAT));
assert d.toString(DateTime.ISO_DATE_TIME_FORMAT).equals("2010-08-24T11:12:13." + sts.substring(sts.length() - 3) + "+0800");
assert d.getTimePart().toDateTimeString().equals("1970-01-01 11:12:13");
assert d.setTimePart("14:30:01").toDateTimeString().equals("2010-08-24 14:30:01");
assert d.setTimePart(14, 30, 1).toDateTimeString().equals("2010-08-24 14:30:01");
assert d.getDatePart().toDateTimeString().equals("2010-08-24 00:00:00");
assert d.setDatePart("2022-02-02").toDateTimeString().equals("2022-02-02 11:12:13");
assert d.setDatePart(2022, Month.FEBRUARY, 2).toDateTimeString().equals("2022-02-02 11:12:13");

DateTime nd = DateTime.valueOf("2024-04-10 00:20:00");
System.out.println(a.toString(DateTime.ISO_DATE_TIME_FORMAT));
assert a.toString(DateTime.ISO_DATE_TIME_FORMAT).equals("2010-08-24T11:12:13." + sts.substring(sts.length() - 3) + "+0800");
assert a.getTimePart().toDateTimeString().equals("1970-01-01 11:12:13");
assert a.setTimePart("14:30:01").toDateTimeString().equals("2010-08-24 14:30:01");
assert a.setTimePart(14, 30, 1).toDateTimeString().equals("2010-08-24 14:30:01");
assert a.getDatePart().toDateTimeString().equals("2010-08-24 00:00:00");
assert a.setDatePart("2022-02-02").toDateTimeString().equals("2022-02-02 11:12:13");
assert a.setDatePart(2022, Month.FEBRUARY, 2).toDateTimeString().equals("2022-02-02 11:12:13");

DateTime nd = DateTime.valueOf("2024-07-10 00:20:00");
assert nd.getDayOfWeek() == DayOfWeek.WEDNESDAY;
log.info("{} nextDayOfWeek {}", nd, nd.nextDayOfWeek());
log.info("{} lastDayOfMonth {}", nd, nd.lastDayOfMonth());
Expand Down

0 comments on commit 495efa1

Please sign in to comment.