字符串转换为日期在bash(Convert string to date in bash)

2019-06-25 16:10发布

我的格式为“年月日”的字符串。 这是在bash一个字符串,我想它转换成一个日期,使所有其他日期功能上就可以使用。

“20121212” 字符串转换成 “20121212” 日期格式 “%Y%米%d”。

Answer 1:

这为我工作:

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%米%d”



Answer 2:

我们可以使用日期-d选项

1)改变格式为“%Y-%间 - %d”格式即20121212至2012年12月12日

date -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')


Answer 3:

迄今为止,只有与GNU日期工作(通常是使用Linux)

对于OS X,两种选择:

  1. 改变命令(认证)

     #!/bin/sh #DATE=20090801204150 #date -jf "%Y%m%d%H%M%S" $DATE "+date \"%A,%_d %B %Y %H:%M:%S\"" date "Saturday, 1 August 2009 20:41:50" 

    http://www.unix.com/shell-programming-and-scripting/116310-date-conversion.html

  2. 下载Coreutils的GNU工具- GNU核心工具(未验证还) http://www.unix.com/emergency-unix-and-linux-support/199565-convert-string-date-add-1-a.html



Answer 4:

只需要使用date命令,例如-d选项

date -d '20121212' +'%Y %m'


文章来源: Convert string to date in bash