конвертировать 12-часовой формат в 24-часовой формат времени в Голанге - PullRequest
0 голосов
/ 25 апреля 2018

В golang я не нашел способа преобразовать 12-часовое форматное время в 24-часовой формат, как показано ниже:

07:05:45PM to 19:05:45

Я попробовал ниже, используя макет

layout := "Mon Jan 2 15:04:05 -0700 MST 2006"
/*
 * Write your code here.
 */
//layout := "3:04PM"
t,_ := time.Parse(layout,s)
fmt.Println(t)

Выводэто:

07:05:45PM

Я искал ответы, похожие на это, но это не помогает всем использовать весь макет.Я нашел ответы на другом языке, но не на ходу.

Ответы [ 2 ]

0 голосов
/ 25 апреля 2018

Ключ к пониманию макета. Ориентировочное время размещения Parse составляет:

Mon Jan 2 15:04:05 -0700 MST 2006

Вам нужно переписать эту дату в ваш формат. Вам нужно всего лишь включить элементы по своему усмотрению. Так что важны только час, минута, секунда и AM / PM. Справочное время 15:04:05 должно быть записано как 03:04:05PM.

Просто используйте переписанное время в качестве параметра макета:

t, _ := time.Parse("03:04:05PM", "07:05:45PM")
fmt.Println(t.Format("15:04:05"))

Выход:

19:05:45
0 голосов
/ 25 апреля 2018

Например,

package main

import (
    "fmt"
    "time"
)

func main() {
    layout1 := "03:04:05PM"
    layout2 := "15:04:05"
    t, err := time.Parse(layout1, "07:05:45PM")
    if err != nil {
        fmt.Println(err)
        return
    }
    fmt.Println(t.Format(layout1))
    fmt.Println(t.Format(layout2))
}

Детская площадка: https://play.golang.org/p/Ypn2-lEF_Zs

Выход:

07:05:45PM
19:05:45

Ссылка: время упаковки

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...