gpt4 book ai didi

Golang time.Parse() 非时间数字格式化

转载 作者:数据小太阳 更新时间:2023-10-29 03:44:17 27 4
gpt4 key购买 nike

我正在从 python 移植代码,并且有一个函数接受格式化字​​符串和等效的日期时间字符串并创建一个日期时间对象:

import datetime
def retrieve_object(file_name, fmt_string):
datetime = datetime.strptime(file_name, fmt_string)
// Do additional datetime calculations here

我尝试在 Go 中创建等效函数:

import(
"time"
)

func retrieve_object(file_name string, fmt_string string) {
time_out, _ := time.Parse(fmt_string, file_name)
// Do additional time.Time calculations here

在这种情况下,这会正确解析 time.Time:

file_name := "KICT20170307_000422" 
fmt_string := "KICT20060102_150405"
// returns 2017-03-07 00:04:22 +0000 UTC

但在这种情况下无法正确解析:

file_name := "KICT20170307_000422_V06.nc" 
fmt_string := "KICT20060102_150405_V06.nc"
// returns 2006-03-07 00:04:22 +0000 UTC

我怀疑这是由于日期时间字符串中的附加非日期数字(“06”)所致。是否可以创建一个函数,该函数可以使用内置的 time.Parse 函数在给定任意格式字符串和日期时间字符串表示的情况下创建 time.Time 对象?如果没有,是否有任何第三方解决方案可行?

最佳答案

我怀疑这是显而易见的,但事实就是如此......

只是剥离它:

func removeSuffix(s string) (string, error) {
i := strings.LastIndexByte(s, '_')

if i < 0 {
return "", fmt.Errorf("invalid input")
}

runes := []rune(s)

result := runes[0:i]

return string(result), nil
}

这里是围棋 Playground https://play.golang.org/p/JbHt4Png-eT

关于Golang time.Parse() 非时间数字格式化,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53506229/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com