WebKik 및 Chrome과 같은 웹 브라우저에 사용되는 시간 스탬프 형식은 1601 년 1 월 1 일 00:00 UTC 이후 64 비트 값입니다.
알고리즘 웹킷 은밀한하기/크롬 시간은 다음과 같습니다 1970년 1월 1일 세계 협정시 00시 얀 1 ~ 마이크로 차이의 웹킷/크롬 타임 스탬프와 숫자 사이에 마이크로
- 계산 번호
public LocalDateTime localDateTimeFromWebKitTimestamp(long webKitTimestamp) {
long epochStart = LocalDateTime
.from(LocalDateTime.of(1601, Month.JANUARY, 1, 0, 0))
.until(LocalDateTime.of(1970, Month.JANUARY, 1, 0, 0), ChronoUnit.MICROS);
long delta = webKitTimestamp - epochStart;
return LocalDateTime.ofInstant(
Instant.ofEpochMilli(TimeUnit.MICROSECONDS.toMillis(delta)), ZoneId.systemDefault());
}
: 00:00 UTC
- 1601은 날짜 시간
다음으로 마이크로 변환하는 예입니다
좋은 설명이지만 이것은 longs가 17 자리의 long 값을 가질 수 없기 때문에 100 % 작동하지 않습니다. 내가 BigIntegers – Xenorosth
을 잘 사용하려고 시도 할 것이고,'long'은 2^63 - 1 = 9,223,372,036854775807의 최대 값을 가질 수 있는데, 이것은 19 자리입니다. 'BigInteger'를 선호한다면 괜찮습니다. – Wilson
나는 여기에서 뭔가를 놓쳐 야했다. 그것은 작동하지 않았지만, 당신이 타이핑 한 어떤 "문자 그대로"의 문자는 그 뒤에 L을 입력 할 때까지 길지 않습니다. 누가 알았 겠어. – Xenorosth