시간대를 조정하면 epoch부터 동일한 밀리 초가됩니다.
012를 사용하면 Java와 함께 번들로 제공되는 악명 높은 java.util.Date 및 .Calendar 클래스보다 훨씬 쉽게 2.을 사용할 수 있습니다. java.util.Date에는 시간대가 없지만 Joda-Time의 DateTime 객체는 실제로 자체 할당 된 시간대를 알고 있습니다.
다음은 몇 가지 예제 코드입니다. 이러한 모든 DateTime 객체는 유니버스의 타임 라인에서 동일한 순간, 즉 Unix 시대 (1970 년 초) 이후의 밀리 초와 동일한 시간을 나타냅니다. 확인하려면 getMillis
메서드를 호출하여 밀리 초 수를 추출하십시오.
String inputRaw = "2014-01-02 03:04:05";
String input = inputRaw.replace(" ", "T"); // Convert to strict version of ISO 8601 standard format.
DateTimeZone timeZoneParis = DateTimeZone.forID("Europe/Paris");
DateTime dateTimeParis = new DateTime(input, timeZoneParis); // Interpret that string as being in a particular time zone.
DateTime dateTimeUtc = dateTimeParis.withZone(DateTimeZone.UTC);
DateTime dateTimeMontréal = dateTimeParis.withZone(DateTimeZone.forID("America/Montreal"));
덤프가 콘솔로 ...
System.out.println("input: " + input);
System.out.println("dateTimeParis: " + dateTimeParis);
System.out.println("dateTimeParis millis: " + dateTimeParis.getMillis());
System.out.println("dateTimeUtc: " + dateTimeUtc);
System.out.println("dateTimeUtc millis: " + dateTimeUtc.getMillis());
System.out.println("dateTimeMontréal: " + dateTimeMontréal);
System.out.println("dateTimeMontréal millis: " + dateTimeMontréal.getMillis());
실행 ... 당신이 시간대를 조정하면
input: 2014-01-02T03:04:05
dateTimeParis: 2014-01-02T03:04:05.000+01:00
dateTimeParis millis: 1388628245000
dateTimeUtc: 2014-01-02T02:04:05.000Z
dateTimeUtc millis: 1388628245000
dateTimeMontréal: 2014-01-01T21:04:05.000-05:00
dateTimeMontréal millis: 1388628245000
, 당신은 여전히 시대 이후의 밀리 초 같은 수있을 것이다. –
안녕 바질, 나는 당신을 꽤 얻지 못했습니다 .. – oxygenan
나는 타임 스탬프가 같다고 생각하니? 다른 지역의 날짜 시간은 다릅니다 – hsluo