PHP 想要格式化時間戳的話,首先想到的肯定是 date('Y-m-d H:i:s')
但是有的時候會遇到一些復雜的時間格式,比如:2020-10-10 的 上個月的 10 號 時間格式要求 200910
這樣的一般情況下會用下面的情況來寫,可能會更復雜
date('Ymd',strtotime('2020-10-10 00:00:00 -1 month'))-20000000;
如果知道一些 date 的其他的格式化方式就不會去計算怎么去掉 2020 年前面的 20 了
下面是我仔細看了 date 函數后 寫的解決方法
date('ymd', strtotime('2020-10-10 -1 month'));
下面是 date 函數的一些用法
date( string $format [, int $timestamp]):string
/** * date(string $format [, int $timestamp]); * format 格式 說明 返回值例子 * 日 ----------------------------------- * d 月份中的第幾天,有前導零的 2 為數字 01 ~ 31 * D 星期中的第幾天,文本表示, 3 個字母 Mon ~ Sun * j 月份中的第幾天,沒有前導零 1 ~ 31 * l("L" 的小寫字母) 星期幾,完整的文本格式 Sunday ~ Saturday * N ISO-8601 格式數字標示頓額星期中的第幾天(PHP 5.1.0 新加) 1 (表示星期一)~ 7 (表示星期天) * S 每月天數后面的英文后綴,2個字符 st,nd,rd 或者 th、可以和 j 一起使用 * W 星期中的第幾天,數字表示 0 (表示星期天)~ 6 (表示星期六) * z 年份中的第幾天 0 ~ 365 * 星期 ----------------------------------- * W ISO-8610 格式年份中的第幾周,每周從星期一開始(PHP 4.1.0 新加) 42 (當年的第42 周) * 月 ----------------------------------- * F 月份,完整的文本格式,例如 January 或者 March January 到 December * m 數字表示的月份,有前導零 01 ~ 12 * M 三個字母縮寫表示的月份 Jan ~ Dec * n 數字表示的月份,沒有前導零 1 ~ 12 * t 指定的月份有幾天 28 ~ 31 * 年 ------------------------------------ * L 是否為閏年 如果是閏年 為 1,否則 為 0 * o ISO-8610 格式年份數字。這和 Y 的值相同,只除了如果 ISO 的星期數(W) Examples:1999 or 2003 * 屬於前一年或下一年,則用那一年。(PHP 5.1.0 新加) * Y 4 位數字完整表示的年份 例如:1999 或 2003 * y 2 位數表示的年份 例如:99 或 03 * 時間 ------------------------------------- * a 小寫的上午 和 下午值 am 或 pm * A 大寫的上午 和 下午值 AM 或 PM * B Swatch Internet 標准時間 000 ~ 999 * g 小時,12 小時格式, 沒有前導零 1 ~ 12 * G 小時, 24 小時格式, 沒有前導零 0 ~ 23 * h 小時, 12 小時格式, 有前導零 01 ~ 12 * H 小時, 24 小時格式, 有前導零 00 ~ 23 * i 有前導零的分鍾數 00 ~ 59 * s 有前導零的秒 00 ~ 59 * u 毫秒 (PHP 5.2.2 新加)。需要注意的是返回 000000 因為 * 它只接受 integer 參數, 而 DateTime::format() 才支持毫秒 654321 * 時區 -------------------------------------- * e 時區標識(PHP 5.1.0 新加) 例如:UTC,GMT,Atlantic.Azores * l 是否為夏令時 夏令時 1 否則為 0 * O 與格林威治時間相差的小時數 例如: +0200 * P 與格林威治時間(GMT)的差別,小時和分鍾之間有冒號分割(PHP 5.1.3新加) 例如:+02:00 * T 本機所在的時區 例如:EST,MDT(在 Windows 下為完整文本格式,例如 "Eastern Standard Time",中文版會顯示"中國標准時間") * Z 時差偏移量的秒數。UTC 西邊的時區偏移量總是負的 -43200 ~ 43200 * UTC 東邊的時區偏移量總是正的。 * 完整的日期/時間 ------------------------------------ * c ISO 8601 格式的時間(PHP 5 新加) 2004-02-12T15:19:21+00:00 * r RFC 822 格式的日期 例如:Thu, 21 Dec 2000 16:01:07 +0200 * U 從 Unix 紀元(January 1 1970 00:00:00 GMT)開始至今的秒數 time() * // 設置時區 * date_default_timezone_set('UTC'); */
知識在於 活學活用 和 學以致用
