Number of 0.1μs since 1601-01-01, 00:00 UTC.
底下是使用 Go 語言撰寫的轉換 timestamp 程式碼
package main
import (
"fmt"
"strconv"
"time"
)
func main() {
fmt.Printf("timestamp (little endian case): ")
var input string
fmt.Scanln(&input)
count := len(input)
if count > 16 {
fmt.Println("error input")
return
}
if count % 2 != 0 {
input = "0" + input
count += 1
}
var s string
for i := count - 1; i >= 0; i -= 2 {
s += string(input[i-1]) + string(input[i])
}
n, err := strconv.ParseUint(s, 16, 64)
if err != nil {
fmt.Println("error input")
return
}
fmt.Println("")
base := time.Date(1601, time.January, 1, 0, 0, 0, 0, time.UTC)
sec := base.Unix() + int64(n / 10000000)
fmt.Println(time.Unix(sec, 0))
}
沒有留言:
張貼留言