时间:2021-07-01 10:21:17 帮助过:15人阅读
/* 系统自带的date('W',time()) 有bug 比如,一年中的第一天如果不是周一的话,返回值是 52或者53。 可以实测一下。就是说, 系统默认认为这一天是去年的第52/53周。 */ echo get_weeks_num('2017-01-01'); function get_weeks_num($time){ $month = intval(date('m',$time));//当前时间的月份 $fyear = strtotime(date('Y-01-01',$time));//今年第一天时间戳 $fdate = intval(date('N',$fyear));//今年第一天 周几 $sysweek = intval(date('W',$time));//系统时间的第几周 //大于等于52 且 当前月为1时, 返回1 if(($sysweek >= 52 && $month == 1)){ return 1; }elseif($fdate == 1){ //如果今年的第一天是周一,返回系统时间第几周 return $sysweek; }else{ //返回系统周+1 return $sysweek + 1; } }
<?php $strTime = '2017-09-14'; $intWeek = ceil(((strtotime($strTime) - strtotime("2017-01-01 00:00:00")))/(7*86400)); var_dump($strTime."是今年的第".$intWeek."周"); ?>
<?PHP getdate();
相关推荐:
PHP时间戳与日期转换实例分享
php时间函数php把秒数转换为时长(h:i:s格式)
php时间格式处理方法
以上就是PHP周时间代码详解的详细内容,更多请关注Gxl网其它相关文章!