>백엔드 개발 >Golang >Go의 `time.Now()` 출력에 최신 버전의 'm='이 포함되는 이유는 무엇입니까?

Go의 `time.Now()` 출력에 최신 버전의 'm='이 포함되는 이유는 무엇입니까?

Patricia Arquette
Patricia Arquette원래의
2024-12-07 08:29:13477검색

Why Does Go's `time.Now()` Output Include

time.Time의 예기치 않은 출력: "m= " 문자열 이해하기

Go 프로그램이 time.Now() 함수를 실행할 때 , 현재 타임스탬프를 검색합니다. 이 타임스탬프의 기본 출력은 특히 Go 1.9가 출시되면서 시간이 지남에 따라 발전했습니다.

"m= " Enigma

Go의 이전 버전에서는 time .Now()는 다음 형식으로 문자열을 출력합니다.

2018-07-04 12:03:07.2911671 +0530 IST

그러나 Go 1.9 이상에서는 신비한 "m= " 문자열을 포함하도록 출력이 확장되었습니다.

2018-07-04 12:03:07.2911671 +0800 +08 m=+0.002000201

왜 불일치합니까? 이는 Go 1.9에 단조 시계 지원이 추가되었기 때문입니다. "m= " 문자열은 프로그램 시작 이후의 단조 시간을 나타내며 부동 소수점 초 수로 표시됩니다.

Format()을 사용하여 예상치 못한 형식 방지

time.Now()의 기본 출력에 의존하는 대신 Format() 함수를 사용하여 타임스탬프에 대한 사용자 정의 형식을 지정하는 것이 좋습니다. 예:

import (
    "fmt"
    "time"
)

func main() {
    t := time.Now()
    fmt.Println(t.Format("2006-01-02 15:04:05.000000"))
}

이것은 Go 버전에 관계없이 일관된 형식으로 타임스탬프를 출력합니다.

2018-07-04 12:03:07.2911671

Format()을 사용하면 프로그램이 항상 출력되도록 할 수 있습니다. 예상하는 형식의 타임스탬프입니다.

위 내용은 Go의 `time.Now()` 출력에 최신 버전의 'm='이 포함되는 이유는 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.