scp 如何保持原始檔案日期、時間

scp 要怎麼保持檔案的原始時間呢?

man scp 可以看到下述參數:

  • -p :Preserves modification times, access times, and modes from the original file.
  • 範例:scp -p file.txt remote.example.com:

PHP 標準化的 RFC、ISO 日期時間格式

在串接資料的時候,常常會看到 2018-06-03T08:02:20+08:00 之類的,這些日期格式大多都是有公開標準的,PHP 裡面有將大多數的標準都設定好可以直接使用囉~

閱讀全文〈PHP 標準化的 RFC、ISO 日期時間格式〉

PHP 使用 gmdate 取得 UTC 的時間

PHP 想要直接取得 UTC 的時間,不想要每台機器、時區分開計算,可以使用 gmdate() 直接來呈現。

<?php                                                                                                                                     
echo gmdate("M d Y H:i:s", mktime(0, 0, 0, 1, 1, 1998)); // UTC: Dec 31 1997 16:00:00                                                                                        
                                                                                                                                                                             
echo date("M d Y H:i:s", mktime(0, 0, 0, 1, 1, 1998)); // CST: Jan 01 1998 00:00:00                                                                                          
?>

Linux 使用 find 找出限定修改時間內的檔案

Linux 的 Find 在限定日期方面很常使用到,在這邊把幾個參數紀錄一下~

  •  find
    • -mtime 搜尋檔案的修改時間(天)
    • -mmin 搜尋檔案的修改時間(分鐘)
    • -ctime 搜尋檔案的建立時間(天)
    • -cmin 搜尋檔案的建立時間(分鐘)
    • -atime 搜尋檔案的最後開啟時間(天)
    • -amin 搜尋檔案的最後開啟時間(分鐘)

範例

  • find ./ -mtime 3 # 在當前目錄下搜尋3天時修改的檔案
  • find ./ -mtime +3 # 在當前目錄下搜尋3天前修改的檔案
  • find ./ -mtime -3 # 在當前目錄下搜尋3天內修改的檔案

PHP 取得本月份最後一天的日期

PHP 要抓取本月份的最後一天,一般都是抓下個月第一天,然後轉成 timestamp - 3600 秒 (減1秒也行,只要到上個月的前一天就好),來取得上個月的最後一天。

PHP 的 date 使用 "t" 就可以抓到此月份最後一天的日期,如下述範例:

<?php                                                                                                                                                                                                    
echo date('Y-m-t', strtotime('now')); // 2017-07-31                                                                                                                                                         
?>

註:strtotime('now') 可省略