>  기사  >  백엔드 개발  >  Go에서 Chrome 타임스탬프 변환

Go에서 Chrome 타임스탬프 변환

WBOY
WBOY앞으로
2024-02-06 11:03:03801검색

在 Go 中转换 Chrome 时间戳

질문 내용

Go를 사용하여 로컬 Chrome sqlite 데이터베이스의 타임스탬프를 현지 시간으로 변환하려고 합니다. 이 타임스탬프는 1601/01/01부터 시작하는 마이크로초라는 것을 알고 있습니다.

이 Chrome Timestamp Conversion 웹사이트에서 다음 프로그램에서 얻는 lastVisitTime 값을 확인해 보니 데이터베이스에서 올바르게 검색되고 있는 것 같습니다.

으아아아

그런데 무슨 이유에서인지 내 .Add(d)는 시간을 1601로 설정하고 있는데, 이전에는 본 적이 없습니다.

으아아아

여기서 무슨 일이 일어나고 있으며, 더 중요한 것은 이 작업을 올바르게 수행하려면 어떻게 해야 합니까?


정답


원래 코드의 오버플로를 지적한 Peter의 의견 덕분에 다른 접근 방식을 찾았습니다.

Chrome 시작 날짜를 UnixMicro()로 변환하면 일반 에포크 시간에서 음수 오프셋을 얻습니다.

으아아아 으아아아

이를 데이터베이스 값에 추가하고 time.Unix()에서 나노초로 변환하여 올바른 UTC 시간을 얻으세요.

으아아아

태평양 표준시로의 변환 전체 예:

으아아아 으아아아

위 내용은 Go에서 Chrome 타임스탬프 변환의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
이 기사는 stackoverflow.com에서 복제됩니다. 침해가 있는 경우 admin@php.cn으로 문의하시기 바랍니다. 삭제