将自定义时间戳转换为不同的格式

transforming custom timestamp into different format

我有一个不符合标准 unix 时间戳格式的时间戳:

*** October 31, 2015 9:22:30 PM IST ***

我需要将其转换成以下格式:

YYYYMMDD_HHMMSS

事实是,我知道我可以做到以下几点:

1) 写一些可以将月份转化为数字的东西。

2) 通过正则表达式提取剩余数据

3) 将晚上 9 点转换为 21...

问题是:有更简单的方法吗?执行此转换的最佳方式是什么?

我试过date +Y%M%D_H%M%S但是格式不一样,不符合date格式。

谢谢。

试试 GNU 日期

日期-d 'October 31, 2015 9:22:30 PM IST' +"%Y%m%d_%H%M%S"

一般来说,如果输入日期在shell变量中,比如d1,

日期-d "$d1" +"%Y%m%d_%H%M%S"