簡體   English   中英

在bash中將字符串轉換為日期

[英]Convert string to date in bash

我有一個格式為“yyyymmdd”的字符串。 它是bash中的一個字符串,我希望將其轉換為日期,以便可以在其上使用所有其他日期函數。

“20121212”字符串轉換為“20121212”日期,格式為“%Y%m%d”。

這對我有用:

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'

我們可以使用date -d選項

1)將格式更改為“%Y-%m-%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')

日期僅適用於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

只需使用date命令的-d選項,例如

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

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM