於 Linux bash shell 要計算兩個日期的差異,然後將此日期之後有修改的檔案印出來,要怎麼做呢?
標籤: date
Linux 使用 date 做 timestamp 格式轉換計算
Linux bash shell 想要做下述事情:
- 現在時間 轉換成 timestamp
- 將 timestamp 轉換回 一般人看的時間
要怎麼做呢?
PHP 要如何取得 今年到現在過幾天
PHP 要抓取今年從年初到現在(或者某個日期)共經過幾天,要怎麼快速取得呢?
影片:食物超過「保存期限」還能不能吃?
食物有保鮮期限,這到底是最佳賞味期?還是真正的保存期限呢?
Linux 使用 find 找出限定修改時間內的檔案
Linux 的 Find 在限定日期方面很常使用到,在這邊把幾個參數紀錄一下~
- find
- -mtime 搜尋檔案的修改時間(天)
- -mmin 搜尋檔案的修改時間(分鐘)
- -ctime 搜尋檔案的建立時間(天)
- -cmin 搜尋檔案的建立時間(分鐘)
- -atime 搜尋檔案的最後開啟時間(天)
- -amin 搜尋檔案的最後開啟時間(分鐘)
範例
- find ./ -mtime 3 # 在當前目錄下搜尋3天時修改的檔案
- find ./ -mtime +3 # 在當前目錄下搜尋3天前修改的檔案
- find ./ -mtime -3 # 在當前目錄下搜尋3天內修改的檔案
搭配 mv 搬移檔案
- find . -mtime +3 -exec mv {} /tmp/directory \; # 超過3天前修改的檔案都搬到 /tmp/directory 去
- find . -type f | xargs -I '{}' mv {} /tmp/directory # 把檔案都搬到 /tmp/directory 去
PHP 取得本月份最後一天的日期
PHP 要抓取本月份的最後一天,一般都是抓下個月第一天,然後轉成 timestamp - 3600 秒 (減1秒也行,只要到上個月的前一天就好),來取得上個月的最後一天。
PHP 的 date 使用 "t" 就可以抓到此月份最後一天的日期,如下述範例:
<?php echo date('Y-m-t', strtotime('now')); // 2017-07-31 ?>
註:strtotime('now') 可省略
Bash history 加上 日期和時間
Linux 使用 Bash 要查看之前輸入過的命令,可以使用 history,history 就會列出:
- 1 ls
- 2 vi
- 3 man date
- ...
使用 !1 就會執行 1 的命令 (ls)
但是知道大約何時下過的命令,但是 history 預設是沒有存時間的,所以想要把時間也紀錄進去,要怎麼做呢?
Bash shell 的 date 印出「年月日時分秒」的參數
Linux 的 Bash Shell 很常會使用到 date 的命令,特別是用到備份、某些固定時間該做的處理等等,參數是哪些呢?
每次都是去 man date 來查看這個參數(因為會有大小寫不同,24hr、前面補0 等不同),在此紀錄最常用的年月日參數,並把跟 awk 搭配的方式列出來。
Linux 取得各國家區域的時間 UTC
Linux 想要查各個國家、地區當地的時間,這些國家中間有做過哪些時間調整等等,要怎麼查詢?
註:此篇 Linux 是 Debian / Ubuntu Linux
PHP 列出日期區間的 所有日期清單
2014-06-22 ~ 2014-06-25, 要列出這段區間的詳細日期有哪些?
- ex: 列出 2014-06-22, 2014-06-23, 2014-06-24, 2014-06-25