在Go语言中,时间包提供了确定和查看时间的函数。 Go语言中的MarshalText()函数用于实现encoding.TextMarshaler接口。此处的时间以RFC 3339格式格式化,并附带sub-second精度(如果有)。此外,此函数在时间包下定义。在这里,您需要导入“time”包才能使用这些函数。
用法:
func (t Time) MarshalText() ([]byte, error)
在此,“t”是指定的时间,在此方法中,将返回“byte”和“error”类型的两个值作为输出。
返回值:它返回一个代表接收方编码为UTF-8编码文本的字节片,它还返回一个错误,但是如果没有错误,则返回“nil”。
范例1:
// Golang program to illustrate the usage of
// Time.MarshalText() function
// Including main package
package main
// Importing fmt and time
import "fmt"
import "time"
// Calling main
func main() {
// Defining t for MarshalText method
t:= time.Date(2001, 3, 6, 11, 45, 12, 03, time.UTC)
// Calling MarshalText() method
encoding, error:= t.MarshalText()
// Prints receiver's encoding
fmt.Printf("Receiver's encoding:%v\n", encoding)
// Prints error
fmt.Printf("Error occurred:%v\n", error)
}
输出:
Receiver’s encoding:[50 48 48 49 45 48 51 45 48 54 84 49 49 58 52 53 58 49 50 46 48 48 48 48 48 48 48 48 51 90]
Error occurred:<nil>
范例2:
// Golang program to illustrate the usage of
// Time.MarshalText() function
// Including main package
package main
// Importing fmt and time
import "fmt"
import "time"
// Calling main
func main() {
// Defining t for MarshalText method
t:= time.Date(2022, 67, 45, 89, 78, 90, 4353, time.UTC)
// Calling MarshalText() method
encoding, error:= t.MarshalText()
// Prints receiver's encoding
fmt.Printf("Receiver's encoding:%v\n", encoding)
// Prints error
fmt.Printf("Error occurred:%v\n", error)
}
输出:
Receiver’s encoding:[50 48 50 55 45 48 56 45 49 55 84 49 56 58 49 57 58 51 48 46 48 48 48 48 48 52 51 53 51 90]
Error occurred:<nil>
此处,以上代码中说明的“t”的值不在通常范围内,但在转换时已标准化。
相关用法
- Golang math.Lgamma()用法及代码示例
- Golang math.Float64bits()用法及代码示例
- Golang atomic.AddInt64()用法及代码示例
- Golang atomic.StoreInt64()用法及代码示例
- Golang reflect.FieldByIndex()用法及代码示例
- Golang string.Contains用法及代码示例
- Golang bits.Sub()用法及代码示例
- Golang io.PipeWriter.CloseWithError()用法及代码示例
- Golang time.Round()用法及代码示例
- Golang reflect.AppendSlice()用法及代码示例
- Golang reflect.ChanOf()用法及代码示例
- Golang flag.Bool()用法及代码示例
- Golang time.Sleep()用法及代码示例
- Golang time.Time.Year()用法及代码示例
- Golang reflect.DeepEqual()用法及代码示例
- Golang reflect.Indirect()用法及代码示例
- Golang reflect.CanAddr()用法及代码示例
- Golang reflect.CanInterface()用法及代码示例
- Golang reflect.CanSet()用法及代码示例
- Golang reflect.Cap()用法及代码示例
注:本文由纯净天空筛选整理自nidhi1352singh大神的英文原创作品 time.Time.MarshalText() Function in Golang with Examples。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。