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/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- QT獲取日期,時間,星期QT
- Qt:獲取日期和時間QT
- 關於 Date 函式獲取各類時間/日期/天數函式
- 直播平臺原始碼,iOS中使用 Date/NSDate 來獲取時間原始碼iOS
- Linux時間的獲取與使用Linux
- 使用 Carbon 獲取指定時間範圍內的日期陣列陣列
- 獲取當前時間往前的日期
- JavaScript 獲取指定時間前幾天日期JavaScript
- 使用JavaScript實現獲取當前日期JavaScript
- 使用Python獲取DNS解析時間和響應時間PythonDNS
- 獲取中文日期
- js獲取日期JS
- Android開發:獲取當前系統時間和日期的方法Android
- linux獲取最新檔案時間以及sshpass使用Linux
- 快速獲取昨天的日期(time模組使用)
- JavaScript獲取兩個日期之間所有的日期JavaScript
- 獲取系統時間
- php 獲取時間差PHP
- 獲取當前時間
- java獲取指定日期之前或之後的時間Java
- laravel 使用maatwebsite/Excel 獲取的日期的處理LaravelWebExcel
- 獲取所有域使用者的登陸歷史資訊指令碼指令碼
- 整理 js 日期物件的詳細功能,使用 js 日期物件獲取具體日期、昨天、今天、明天、每月天數、時間戳等,以及常用的日期時間處理方法JS物件時間戳
- mybatis獲取當前時間MyBatis
- C++11獲取時間C++
- 直播原始碼,獲取兩個日期之間的所有日期原始碼
- SqlServer獲取當前日期SQLServer
- python如何只獲取日期Python
- 獲取方法
- SQL 獲取SQL Server中兩個日期之間的所有日期SQLServer
- 使用go對NTP發起請求獲取當前時間Go
- c++ 獲取當前時間周初凌晨時間戳(獲取當前時間週一凌晨時間戳)C++時間戳
- 前端獲取伺服器時間前端伺服器
- Qt 獲取程式編譯時間QT編譯
- js獲取當天時間戳JS時間戳
- Laravel 獲取 13 位時間戳Laravel時間戳
- 安卓啟動時間獲取安卓
- js獲取北京時間程式碼JS