當前位置: 首頁>>編程示例 >>用法及示例精選 >>正文


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。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。