一尘不染

如何将YYYYMMDDHHMMSS转换为`date`可读的日期

linux

我有一组YYYYMMDDHHMMSS格式的日期/时间字符串,我想将其转换为date实用程序可读的格式。通常,我可以执行以下操作:

date -d "2010-10-01 12:34:56"

但是,date不喜欢YYYYMMDDHHMMSS:

date -d "20100101123456"..失效日期

因此,我可能需要将字符串优化为以前的格式。我在想这sed是答案,但是它很快变得很难看。我确定我的字符串将是正确的格式,那么如何轻松转换它们呢?


阅读 373

收藏
2020-06-03

共1个答案

一尘不染

日期不允许使用“ YYYYMMDDHHMMSS”,但它允许“ YYYYMMDD HH:MM:SS”,因此:

D="20100101123456"
date -d "${D:0:8} ${D:8:2}:${D:10:2}:${D:12:2}"
2020-06-03