英文:
How to extract unix timestamp and get date
问题
我有一个整数
x := 1468540800
我想从这个Unix时间戳中提取日期,在Golang中。我尝试过time.ParseDuration
,但看起来这不是从中提取日期的正确方法。转换应该像这样进行:http://www.unixtimestamp.com/index.php
我打算转换成ISO 8601格式。我想要一个像2016-09-14
这样的字符串。
英文:
I have an integer
x := 1468540800
I want to fetch the date out of this unix timestamp in Golang. I have tried time.ParseDuration
but looks like that's not the correct way to extract date out of this. Converstion should happen like this http://www.unixtimestamp.com/index.php
I intend to convert into in ISO 8601 format may be. I want string like 2016-09-14
.
答案1
得分: 5
你可以使用t := time.Unix(int64(x), 0)
,将位置设置为本地时间。
或者使用t := time.Unix(int64(x), 0).UTC()
,将位置设置为UTC。
你可以使用t.Format("2006-01-02")
进行格式化,
代码(在The Go Playground上尝试):
package main
import (
"fmt"
"time"
)
func main() {
x := 1468540800
t := time.Unix(int64(x), 0).UTC() // UTC返回具有位置设置为UTC的t。
fmt.Println(t.Format("2006-01-02"))
}
输出:
2016-07-15
英文:
You may use t := time.Unix(int64(x), 0)
with location set to local time.
Or use t := time.Unix(int64(x), 0).UTC()
with the location set to UTC.
You may use t.Format("2006-01-02")
to format,
Code (try on The Go Playground):
package main
import (
"fmt"
"time"
)
func main() {
x := 1468540800
t := time.Unix(int64(x), 0).UTC() //UTC returns t with the location set to UTC.
fmt.Println(t.Format("2006-01-02"))
}
output:
2016-07-15
答案2
得分: 2
使用time.Unix
函数,将纳秒设置为0。
t := time.Unix(int64(x), 0)
Playground: https://play.golang.org/p/PpOv8Xm-CS.
英文:
Use time.Unix
with nanoseconds set to 0.
t := time.Unix(int64(x), 0)
Playground: https://play.golang.org/p/PpOv8Xm-CS.
答案3
得分: 1
你可以使用strconv.ParseInt()函数将字符串解析为int64类型,然后与time.Unix()函数结合使用。
myTime, err := strconv.ParseInt(x, 10, 64)
if err != nil {
panic(err)
}
newTime := time.Unix(myTime, 0)
这段代码将字符串x解析为int64类型的myTime变量,然后使用time.Unix()函数将myTime转换为时间类型的newTime变量。
英文:
You can use strconv.ParseInt() for parsing to int64 in combination with time.Unix.
myTime,errOr := strconv.ParseInt(x, 10, 64)
if errOr != nil {
panic(errOr)
}
newTime := time.Unix(myTime, 0)
答案4
得分: -4
$timestamp=1468540800;
echo gmdate("Y-m-d", $timestamp);
英文:
$timestamp=1468540800;
echo gmdate("Y-m-d", $timestamp);
通过集体智慧和协作来改善编程学习和解决问题的方式。致力于成为全球开发者共同参与的知识库,让每个人都能够通过互相帮助和分享经验来进步。
评论