登录
首页 >  Golang >  Go问答

将4位字符日期转换成日期字符串

来源:stackoverflow

时间:2024-02-24 23:24:26 420浏览 收藏

各位小伙伴们,大家好呀!看看今天我又给各位带来了什么文章?本文标题《将4位字符日期转换成日期字符串》,很明显是关于Golang的文章哈哈哈,其中内容主要会涉及到等等,如果能帮到你,觉得很不错的话,欢迎各位多多点评和分享!

问题内容

我收到的到期日期是一个四字母字符串,如下所示“1226” 我需要从该数据创建一个日期字符串。

到目前为止我可以获得月份和年份。尝试使用 time.parse 方法在文档中提到,但我无法弄清楚。

func main() {

    dateData := "1226"
    month := dateData[:2]
    year := dateData[2:]
    t, _ := time.Parse("2006-01-02", fmt.Sprintf("20%s-%s-00", year, month))
    fmt.Println(t)
    // expected output is "2026-12-01", and also it's better if we could add one month to this one. then it will become "2027-01-01"

}

正确答案


package main

import (
    "fmt"
    "time"
)

func main() {
    date := "1226"
    if len(date) == 4 {
        date = date[0:2] + "20" + date[2:4]
    }
    t, err := time.parse("012006", date)
    fmt.println(t, err)
}

https://go.dev/play/p/fwfBux1AZQO

2026-12-01 00:00:00 +0000 utc 
package main

import (
    "fmt"
    "time"
)

func main() {
    date := "1226"
    if len(date) == 4 {
        date = date[0:2] + "20" + date[2:4]
    }
    t, err := time.parse("012006", date)
    if err == nil {
        t = t.adddate(0, 1, 0)
    }
    fmt.println(t, err)
}

https://go.dev/play/p/xCAyxPdRjib

2027-01-01 00:00:00 +0000 UTC 

以上就是本文的全部内容了,是否有顺利帮助你解决问题?若是能给你带来学习上的帮助,请大家多多支持golang学习网!更多关于Golang的相关知识,也可关注golang学习网公众号。

声明:本文转载于:stackoverflow 如有侵犯,请联系study_golang@163.com删除
相关阅读
更多>
最新阅读
更多>
课程推荐
更多>