如何解析golang时间

i have this dates "25th April 2019 01:01 AM"

"11th May 2019 07:28 AM"

"26th August 2019 11:07 AM"

"31st July 2019 01:26 PM"

ETC...

my try

timeStr = strings.Replace(timeStr,"th","",1)
timeStr = strings.Replace(timeStr,"st","",1)
timeStr = strings.Replace(timeStr,"rd","",1)
timeStr = strings.Replace(timeStr,"nd","",1)
time.Parse("2 January 2006 15:04 PM",timeStr)

but this is wrong as it can remove characters from the month

展开翻译

译文

我有这个日期
“ 2019年4月25日01:01 AM” </ p>

< p>“ 2019年5月11日上午7:28” </ p>

“ 2019年8月26日上午11:07” </ p>

“ 2019年7月31日01:26 PM “ </ p>

ETC ... </ p>

我的尝试</ p>

  timeStr = strings.Replace(timeStr  ,“ th”,“”,1)
timeStr =字符串。Replace(timeStr,“ st”,“”,1)
timeStr =字符串。Replace(timeStr,“ rd”,“”,1)
timeStr =字符串 .Replace(timeStr,“ nd”,“”,1)
time.Parse(“ 2006年1月2日15:04 PM”,timeStr)
</ code> </ pre>

但是 是错误的,因为它可以删除月份中的字符</ p>
</ div>

douduiti3040
douduiti3040 他们不耕作play.golang.org/p/PbzXEUQNqmr我不需要这个月
9 个月之前 回复
douyao1878
douyao1878 尝试regexpplay.golang.org/p/PDxwzLVGWTS
9 个月之前 回复

2个回答

How about this?

if d := timeStr[1]; d >= '0' && d <= '9' {
    // 2-digit day
    timeStr = timeStr[:2] + timeStr[4:]
} else {
    // 1-digit day
    timeStr = timeStr[:1] + timeStr[3:]
}
douguan1887
douguan1887 更新。
9 个月之前 回复
douzai8285
douzai8285 如果日期为“ 2019年7月1日下午01:26”,则错误,作物=(
9 个月之前 回复

Can use a regexp to do such kind of things.

re := regexp.MustCompile(`^(\d{1,2})(th|st|rd|nd)`)
re.ReplaceAllString("31st July 2019 01:26 PM", "$1")

展开翻译

译文



可以使用正则表达式执行此类操作。</ p>

  re:=  regexp.MustCompile(^(\ d {1,2})(th | st | rd | nd)
re.ReplaceAllString(“ 2019年7月31日01:26 PM”,“ $ 1”)
</ code > </ pre>
</ div>

Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
立即提问
相关内容推荐