>백엔드 개발 >Golang >Go에서 JSON으로 마샬링하기 전에 시간을 UTC로 변환하는 방법은 무엇입니까?

Go에서 JSON으로 마샬링하기 전에 시간을 UTC로 변환하는 방법은 무엇입니까?

WBOY
WBOY앞으로
2024-02-09 19:00:11529검색

在 Go 中将时间编组为 JSON 之前如何将时间转换为 UTC?

Go 언어에서는 시간을 UTC로 변환하기 전에 time 패키지에 제공되는 함수와 메서드를 사용하여 처리할 수 있습니다. 먼저, time.Now() 함수를 사용하여 현재 현지 시간을 가져올 수 있습니다. 그런 다음 time.LoadLocation("UTC") 함수를 사용하여 UTC 시간대를 로드합니다. 그런 다음 time.In() 메서드를 사용하여 현지 시간을 UTC 시간으로 변환합니다. 마지막으로 time.Format() 메서드를 사용하여 UTC 시간을 필요한 문자열 형식으로 포맷합니다. 이러한 방식으로 시간을 UTC로 변환하고 후속 처리 및 작업을 수행할 수 있습니다.

질문 내용

시간이 UTC로 변환되고 가장 가까운 초로 반올림되는 time 结构,它实现 marshaler 接口,这样,当它被编组为 json 时,它以 yyyy-mm-ddthh:mm:ssz 형식 표현을 정의하려고 합니다. 나는 다음 절차를 시도했습니다:

으아악

하지만 실행하면 인쇄됩니다

으아악

반대로 마샬링할 입력으로 time.now().utc().round(time.second)을 전달하면(예: 위 코드 조각의 주석 처리된 줄 사용) 원하는 출력을 얻습니다.

으아악

제 질문은: 왜 marshaljson 메소드 자체에서 UTC로의 변환을 수행하고 가장 가까운 초로 반올림할 수 없나요?

Solution

무엇을 하고 싶으신가요?

귀하의 marshaljson 기능을 실행해 보았는데 예상대로 작동했습니다

내가 시도한 것은 다음과 같습니다:

으아악

다음과 같은 결과가 나왔습니다:

으아악

첫 번째 줄은 이전 출력이고 두 번째 줄은 marshaljson 함수의 출력입니다.

위 내용은 Go에서 JSON으로 마샬링하기 전에 시간을 UTC로 변환하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

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