🔥码云GVP开源项目 12k star Uniapp+ElementUI 功能强大 支持多语言、二开方便! 广告
**一、php:data参数详解** ***** >a - "am" 或是 "pm" A - "AM" 或是 "PM" d - 几日,二位数字,若不足二位则前面补零; 如: "01" 至 "31" D - 星期几,三个英文字母; 如: "Fri" F - 月份,英文全名; 如: "January" h - 12 小时制的小时; 如: "01" 至 "12" H - 24 小时制的小时; 如: "00" 至 "23" g - 12 小时制的小时,不足二位不补零; 如: "1" 至 12" G - 24 小时制的小时,不足二位不补零; 如: "0" 至 "23" i - 分钟; 如: "00" 至 "59" j - 几日,二位数字,若不足二位不补零; 如: "1" 至 "31" l - 星期几,英文全名; 如: "Friday" m - 月份,二位数字,若不足二位则在前面补零; 如: "01" 至 "12" n - 月份,二位数字,若不足二位则不补零; 如: "1" 至 "12" M - 月份,三个英文字母; 如: "Jan" s - 秒; 如: "00" 至 "59" S - 字尾加英文序数,二个英文字母; 如: "th","nd" t - 指定月份的天数; 如: "28" 至 "31" U - 总秒数 w - 数字型的星期几,如: "0" (星期日) 至 "6" (星期六) Y - 年,四位数字; 如: "1999" y - 年,二位数字; 如: "99" z - 一年中的第几天; 如: "0" 至 "365" **PHP 关于strtotime("- x month") bug的解决** ***** 问题: 如:当前时间为: 2011-08-31 17:21:22 ~~~ <?php date_default_timezone_set('Asia/Shanghai'); $t = time(); print_r(array( date('Y年m月',$t), date('Y年m月',strtotime('- 1 month',$t)), date('Y年m月',strtotime('- 2 month',$t)), )); ?> ~~~ 上面代码输出: ~~~ Array ( [0] => 2011年08月 [1] => 2011年07月 [2] => 2011年07月 ) ~~~ 而预期的结果是: ~~~ Array ( [0] => 2011年08月 [1] => 2011年07月 [2] => 2011年06月 ) ~~~ 解决方法 ~~~ <?php date_default_timezone_set('Asia/Shanghai'); $first_day_of_month = date('Y-m',time()) . '-01 00:00:01'; $t = strtotime($first_day_of_month); print_r(array( date('Y年m月',$t), date('Y年m月',strtotime('- 1 month',$t)), date('Y年m月',strtotime('- 2 month',$t)), )); ?> 输出: Array ( [0] => 2011年08月 [1] => 2011年07月 [2] => 2011年06月 ) ~~~