Как извлечь метку времени unix и получить дату



У меня есть целое число



x := 1468540800


Я хочу извлечь дату из этой временной метки unix в Golang. Я пробовал time.ParseDuration , но похоже, что это не правильный способ извлечь дату из этого. Разговор должен происходить вот так http://www.unixtimestamp.com/index.php

Я намерен конвертировать в формат ISO 8601, возможно. Мне нужна строка типа 2016-09-14.

548   4  
go

4 ответов:

Вы можете использовать t := time.Unix(int64(x), 0) с местоположением, установленным в местное время.
Или используйте t := time.Unix(int64(x), 0).UTC() с местоположением, установленным в UTC.

Вы можете использовать t.Format("2006-01-02") для форматирования, Код (примерьте игровую площадку Go):

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"))
}

Вывод:

2016-07-15

Использование time.Unix с наносекундами, равными 0.

t := time.Unix(int64(x), 0)

Игровая площадка: https://play.golang.org/p/PpOv8Xm-CS .

Вы можете использовать strconv.ParseInt () для разбора на int64 в сочетании со временем.Юникс.

myTime,errOr := strconv.ParseInt(x, 10, 64)
    if errOr != nil {
        panic(errOr)
    }
    newTime := time.Unix(myTime, 0)
$timestamp=1468540800;
echo gmdate("Y-m-d", $timestamp);

Comments

    Ничего не найдено.