当前位置: 首页>>代码示例 >>用法及示例精选 >>正文


Golang time.Time.MarshalText()用法及代码示例


在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”的值不在通常范围内,但在转换时已标准化。




相关用法


注:本文由纯净天空筛选整理自nidhi1352singh大神的英文原创作品 time.Time.MarshalText() Function in Golang with Examples。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。