solaries使用date獲取前一天日期,使用perl命令獲取歷史時間方法
1.Linux系統下獲取歷史日期的方法
獲取前一天日期:
date -d last-day +%Y%m%d
獲取15天前日期:
date +%Y%m%d --date '15 days ago'
2.solaries下執行Linux的date -d命令,行不通
oracle@cwgsdb1:~$ date -d last-day +%Y%m%d date: illegal option -- d usage: date [-u] mmddHHMM[[cc]yy][.SS] date [-u] [+format] date -a [-]sss[.fff]
顯然不支援,不過可以格式化當前日期輸出
oracle@cwgsdb1:~$ date +%Y%m%d 20181026
3.solaries下的date命令獲取前一天日期
oracle@cwgsdb1:~$ echo `TZ=$TZ date` Friday, October 26, 2018 09:29:57 PM CST oracle@cwgsdb1:~$ echo `TZ=$TZ+16 date` Thursday, October 25, 2018 09:30:11 PM localtime oracle@cwgsdb1:~$ date Friday, October 26, 2018 09:31:00 PM CST oracle@cwgsdb1:~$ echo `TZ=$TZ+24 date` Thursday, October 25, 2018 01:31:55 PM localtime oracle@cwgsdb1:~$ echo `TZ=$TZ+40 date` Wednesday, October 24, 2018 09:31:59 PM localtime oracle@cwgsdb1:~$ echo $TZ localtime
中國的時區是 +8 區,所以獲取 n 天前的時間方法為:
oldDate=`TZ=$TZ+X date +%Y%m%d`
其中, X=24*n-8
但是對於時間過於長,如10天前,使用該方法返回的結果就不對:
oracle@cwgsdb1:~$ echo `TZ=$TZ+232 date` Friday, October 26, 2018 01:34:00 PM GMT
經過測試,該方法可以獲取前一週內的時間。
oracle@cwgsdb1:~$ echo `TZ=$TZ+112 date` Sunday, October 21, 2018 09:35:08 PM localtime oracle@cwgsdb1:~$ echo `TZ=$TZ+136 date` Saturday, October 20, 2018 09:35:24 PM localtime oracle@cwgsdb1:~$ echo `TZ=$TZ+160 date` Friday, October 19, 2018 09:35:47 PM localtime oracle@cwgsdb1:~$ echo `TZ=$TZ+184 date` Friday, October 26, 2018 01:35:57 PM GMT
4.solaries下使用perl命令獲取歷史時間
oracle@cwgsdb1:~$ echo `perl -MPOSIX -le 'print strftime "%Y%m%d %H%M%S", localtime(time-15*24*60*60)'` 20181011 213937 oracle@cwgsdb1:~$ echo `perl -MPOSIX -le 'print strftime "%Y%m%d %H%M%S", localtime(time)'` 20181026 213951 oracle@cwgsdb1:~$ echo `perl -MPOSIX -le 'print strftime "%Y%m%d %H%M%S", localtime(time-30*24*60*60)'` 20180926 214011 oracle@cwgsdb1:~$ echo `perl -MPOSIX -le 'print strftime "%Y%m%d %H%M%S", localtime(time-40*24*60*60)'` 20180916 214016
該方法的原理是透過呼叫strftime函式,使用當前時間減去N天的秒數N*24*60*60,獲取當前時間或者往前N天的歷史時間。
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/31394774/viewspace-2217737/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- Linux使用 date 命令獲取當前日期前一天的時間Linux
- js date物件的獲取時間日期常用方法JS物件
- QT獲取日期,時間,星期QT
- Qt:獲取日期和時間QT
- java獲取日期和時間Java
- 關於 Date 函式獲取各類時間/日期/天數函式
- Linux使用time命令獲取命令執行時間Linux
- 分享[ASP.NET]//獲取日期+時間ASP.NET
- javascript獲取本地時間日期程式碼JavaScript
- 46. Kotlin獲取日期時間Kotlin
- Qt獲取當前日期與時間QT
- 直播平臺原始碼,iOS中使用 Date/NSDate 來獲取時間原始碼iOS
- 使用 Carbon 獲取指定時間範圍內的日期陣列陣列
- Linux時間的獲取與使用Linux
- JavaScript 獲取指定時間前幾天日期JavaScript
- android系統日期時間的獲取Android
- C#獲取當前日期時間(轉)C#
- 獲取系統時間的DOS命令
- Js獲取當前日期時間及其它操作JS
- js獲取指定時間日期和當前時間日期的相差多少時間JS
- 使用JavaScript實現獲取當前日期JavaScript
- 快速獲取昨天的日期(time模組使用)
- js獲取日期JS
- 獲取中文日期
- javascript獲取date物件的時間戳程式碼例項JavaScript物件時間戳
- 使用Python獲取DNS解析時間和響應時間PythonDNS
- QT入門系列(7):獲取系統時間 日期時間格式QT
- 獲取所有域使用者的登陸歷史資訊指令碼指令碼
- php 獲取時間差PHP
- JavaScript獲取時間戳JavaScript時間戳
- 獲取系統時間
- JavaScript獲取兩個日期之間所有的日期JavaScript
- Android開發:獲取當前系統時間和日期的方法Android
- javaScript系列:js中獲取時間new Date()詳細介紹JavaScriptJS
- linux獲取最新檔案時間以及sshpass使用Linux
- Javascript獲取當前時間戳的方法JavaScript時間戳
- java獲取指定日期之前或之後的時間Java
- js獲取時間日期中的年月日等部分JS