Я портирую код из python и имею функцию, которая принимает строку форматирования и эквивалентную строку даты и времени и создает объект datetime:
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
Это анализирует время. Время правильно в этом случае:
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.Time с произвольной строкой форматирования и строковым представлением даты и времени, используя встроенную функцию time.Parse?Если нет, есть ли сторонние решения, которые могли бы работать?