Simplest way to get local milliseconds in a time zone with Joda-Time

后端 未结 2 399
孤街浪徒
孤街浪徒 2020-12-16 10:22

Currently, to get milliseconds from start of 1970 in a local time zone, I do

long localMillis = dateTime.withZone(timeZone).toLocalDateTime()
    .toDateTime         


        
2条回答
  •  难免孤独
    2020-12-16 10:53

    You can make this a little clearer by storing a constant LocalDateTime referring to Jan 1, 1970, and then calculating a Duration between that point in time (for a given time zone) and the instant that you care about, like:

    private static final LocalDateTime JAN_1_1970 = new LocalDateTime(1970, 1, 1, 0, 0);
    
    ...
    
    new Duration(JAN_1_1970.toDateTime(someTimeZone), endPointInstantOrDateTime).getMillis();
    

提交回复
热议问题