我有一个格式为“yyyymmdd”的字符串。它是bash中的一个字符串,我想把它转换成日期,以便可以在其上使用所有其他日期函数。
将“20121212”字符串转换为格式为“%Y%m%d”的“20121212”日期。
这对我起作用了:
date -d '20121212 7 days'
date -d '12-DEC-2012 7 days'
date -d '2012-12-12 7 days'
date -d '2012-12-12 4:10:10PM 7 days'
date -d '2012-12-12 16:10:55 7 days'
那么您可以添加参数“+%Y%m%d”来格式化输出
now=$(date -Im)
将当前时间存储为 ISO-8601 格式的日期/时间,精确到分钟,而 date -d = $now
对该格式非常满意。但我不确定是否所有与 ISO-8601 兼容的变体都是如此。 - mc0edate -d '20121212' +'%Y-%m-%d'
2)给定一个日期20121212,获取其前7天的日期并指定格式。
date -d '20121212 -7 days' +'%Y-%m-%d'
3)如果我们将日期存储在某个变量中,比如dat
dat2=$(date -d "$dat -1 days" +'%Y%m%d')
date -d '20121212' +'%Y %m'