3

Please help me to parse date like 2018-12-17 12:55:50 +0300 in golang

I'm trying with layout

layout := "2006-01-02 15:04:05 +0000"
dateString := "2018-12-17 12:55:50 +0300"
t, err := time.Parse(layout, dateString)
if err != nil {
    fmt.Println("Error while parsing date :", err)
}
fmt.Println(t.Format("2006-01-02 15:04:05"))

but compiler says Error while parsing date : parsing time "2018-12-17 12:55:50 +0300" as "2006-01-02 15:04:05 +0000": cannot parse "300" as " +0000"

1 Answer 1

5

Package time

import "time"

the [layout] reference time can be thought of as

01/02 03:04:05PM '06 -0700

Use -0700, not +0000.

For example,

package main

import (
    "fmt"
    "time"
)

func main() {
    layout := "2006-01-02 15:04:05 -0700"
    dateString := "2018-12-17 12:55:50 +0300"
    t, err := time.Parse(layout, dateString)
    if err != nil {
        fmt.Println("Error while parsing date :", err)
    }
    fmt.Println(t.Format("2006-01-02 15:04:05"))
}

Playground: https://play.golang.org/p/Xr8zaTjODgC

Output:

2018-12-17 12:55:50
Sign up to request clarification or add additional context in comments.

1 Comment

This example works correctly and helps for me It's enough I think

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.