2016-08-31 2 views
0

Мне не ясно, из документации, как я буду разбирать дату в этом довольно странном формате. Похоже, это может быть невозможно.Как вы разбираете дату в формате:

2016-07-08T08:34:24+00:00 

Следующая не работает (go play link)

package main 

import (
    "fmt" 
    "time" 
) 

func main() { 
    date := "2016-07-08T08:34:24+00:00" 
    d, err := time.Parse("2006-01-02T15:04:05+07:00", date) 
    if err == nil { 
     fmt.Println(d) 
    } else { 
     fmt.Println(err) 
    } 
} 

Очевидно, что регулярное выражение может сначала проверить, для этого формата и преобразовать + к -, но это означает, стандартная библиотека косяк разобрать этот Дата.

ответ

3

ссылка раскладка Go использует -7 часов, как смещение часового пояса, но вы использовали +7 часов:

package main 

import (
    "fmt" 
    "time" 
) 

func main() { 
    date := "2016-07-08T08:34:24+00:00" 
    d, err := time.Parse("2006-01-02T15:04:05-07:00", date) 
    if err == nil { 
     fmt.Println(d) 
    } else { 
     fmt.Println(err) 
    } 
} 

https://play.golang.org/p/FNzx57R2jy

+0

Конечно, спасибо за вашу помощь. – Jacob

Смежные вопросы