, 都可能会有这个迷惑, 我们也可以很轻松的验证类似的其他月份, 印证这个结论: var_dump(date("Y-m-d", strtotime("-1 month", strtotime("2017 -03-31"))));//输出2017-03-03var_dump(date("Y-m-d", strtotime("+1 month", strtotime("2017-08-31"))));//输出 (date("Y-m-d", strtotime("last month", strtotime("2017-03-31"))));//输出2017-03-03 那怎么办呢? day of +1 month", strtotime("2017-08-31"))));////输出2017-09-01var_dump(date("Y-m-d", strtotime("first day of next month", strtotime("2017-01-31"))));////输出2017-02-01var_dump(date("Y-m-d", strtotime("last
$t = strtotime("-{$n} days 00:00:00");//当前日期的前n天的0点 $t = strtotime("-{$n} days 23:00:00");//当前日期的前n天的 strtotime("+{$n} days 00:00:00");//当前日期的后n天的0点 $t = strtotime("+{$n} days 23:00:00");//当前日期的后n天的23点 获取指定日期前 $n*86400 s的时间 $t = strtotime("+{$n} days {$data} 00:00:00");//当前日期的后n天的0点 $t = strtotime("+{$n} days "); $t = strtotime("yesterday 00:00:00"); //以上三个结果一样,但是为了严谨期间,如果需要时分秒,给出精确时间 $t = strtotime("tomorrow "); $t = strtotime("tomorrow midnight"); $t = strtotime("tomorrow 00:00:00"); $year = 2015; $month =
var_dump(date('Y-m-d')); var_dump(date('Y-m-d', strtotime('- 1 day'))); var_dump(date('Y-m-d', strtotime ('+ 2 day'))); var_dump(date('Y-m-d', strtotime('- 1 week'))); var_dump(date('Y-m-d', strtotime('+ 2 02" string(10) "2018-10-23" 上面的这些都没有问题,毕竟day和week的时间是固定的,但是month就不一样了,有大月和小月 var_dump(date("Y-m-d", strtotime ("-1 month", strtotime("2018-05-31")))); 打印出来的结果是: string(10) "2018-05-01" !!! ("last day of -1 month", strtotime("2018-05-31")))); 打印结果是: string(10) "2017-04-30" 为了避免 strtotime 引起的问题
():把字符串类型日期格式转成时间戳 使用函数strtotime(),打印前一天日期,参数:String类型 “-1 day” echo date("Y-m-d H:i:s",strtotime("-1day "));输出 2016-05-12 15:27:33 使用函数strtotime(),打印明天日期,参数:String类型 “+1 day” echo date("Y-m-d H:i:s",strtotime s",strtotime("+1 week"));;输出 2016-05-20 15:29:35 使用函数strtotime(),打印下一个月日期,参数:String类型 “+1 month” echo date("Y-m-d H:i:s",strtotime("+1 month")); 输出:2016-06-13 15:37:42 使用函数strtotime(),打印下周一日期,参数:String类型 “last Mondy” echo date("Y-m-d H:i:s",strtotime("next Monday")); 输出:2016-05-16 00:00:00 使用函数strtotime
###获取今日0点的时间戳 $today = strtotime(date('Ymd')); $today2 = strtotime('today'); echo "today = ". $today2; 输出: today = 1463500800 today2 = 1463500800 由此可见,获取今日0点时的时间戳可以直接使用strtotime("today").
今天遇到一个BUG,在使用strtotime(date('Y-m-d') . ' 00:00:00') 获取当天零点时间戳会出现不准确的问题,有时候获取的是正常的零点时间戳,有时候获取的是当天8点的时间戳 解决方案: strtotime(date('Y-m-d')) // 获取当天零点时间戳 strtotime(date('Y-m-d') . ' + 1 day') - 1 // 获取当天23点59分59 秒时间戳 strtotime(date('Y-m-d')) - 1 // 获取昨天23点59分59秒时间戳
{ foreach ($this->holidayDay as $startDate => $endDate) { $this->holidayData[strtotime ($startDate)] = strtotime($endDate); } ksort($this->holidayData); foreach ($this ->holidayExtraWorkDay as $startDate => $endDate) { $this->workDayData [strtotime($startDate ) { //判断当日是否为上班日 $isWorkDay = $this->checkIsWorkDay($datetime); $time = strtotime $startTime)] = strtotime($date . " " .
注意年月日的顺序 echo date('Y-m-d', strtotime("06/08/2014")), "\n"; //2014-06-08 echo date('Y-m-d', strtotime echo strtotime("2014-03-27"), "\n"; echo strtotime("December 31"), "\n"; echo strtotime("now"), "\n"; echo strtotime("10 September 2000"), "\n"; echo strtotime("+1 day"), "\n"; echo strtotime("+1 week") strtotime("next Thursday"), "\n"; echo strtotime("last Monday"), "\n"; 还可以指定日期 $time = date('Y-m-d H :i:s', time()); echo strtotime($time.'1day'), "\n"; echo "\n"; echo strtotime($time
wpjam_strtotime 前面解决了在 WordPress 中基于时间戳正确显示时间的问题,然后还有一个常见的操作就是将日期转换为日期戳,PHP 提供了一个 strtotime 的函数: echo 所以为了方便将当地时间正确转换成时间戳,所以我写了一个函数 wpjam_strtotime: function wpjam_strtotime($string){ return date_create ("2022-11-21 23:15:45"); // 1669043745 wpjam_strtotime 很快会在 WPJAM Basic 新版本中发布,所以有了第二条规则:在 WordPress 进行日期和时间转换成时间戳操作的时候,把 strtotime 函数替换成 wpjam_strtotime 函数即可。 将日期和时间转换成时间戳的时候:把 strtotime 函数替换成 wpjam_strtotime 函数。
59', strtotime("$startstr +6 day"))); $Monthend = strtotime(date('Y-m-d 23:59:59', strtotime("$startstr day'))); $backDays[$i]['end']=strtotime(date("Y-m-d 23:59:59",strtotime('-'.$i.' ]['end'] = strtotime($year 59', strtotime("$startstr +6 day"))); $Monthend = strtotime(date('Y-m-d 23:59:59', strtotime("$startstr 'week_end'] = strtotime($year
id=343578′ scrolling=’no’>function get_weekend_days($start_date,$end_date){ if (strtotime($start_date ) > strtotime($end_date)) list($start_date, $end_date) = array($end_date, $start_date); $start_reduce = $end_add = 0; $start_N = date(‘N’,strtotime($start_date)); $start_reduce = ($start_N == 7) ? 1 : 0; $end_N = date(‘N’,strtotime($end_date)); in_array($end_N,array(6,7)) && $end_add = ($end_N = 2 : 1; $days = abs(strtotime($end_date) – strtotime($start_date))/86400 + 1; return floor(($days +
"m") - ($month - 1), 0, date("Y"))); // 以下方法有误差,例如3月31日那天的上个月时间匹配出是3月2日,已亲自测试,所以已废弃 //$begin_time = strtotime (date('Y-m-01 00:00:00',strtotime('-1 month'))); //$end_time = strtotime(date("Y-m-d 23:59:59", strtotime day'))); $begin_year = strtotime(date("Y",time())."-1". "-1"); //本年开始 $end_year = strtotime(date("Y",time())."-12". "-31"); //本年结束 //现在的时间到第二天凌晨相差的时间戳 $time = (strtotime(date('Y-m-d'))+3600*24) - time() ;
$day = '2014-03-28'; $d1 = date("Y-m-d", strtotime("0 day $day"));//第1天03-28 $d3 = date("Y-m-d", strtotime("2 day $day"));//第3天 $d7 = date("Y-m-d", strtotime("6 day $day"));//第7天 $d15 = date("Y-m-d ", strtotime("14 day $day"));//第15天 $d30 = date("Y-m-d", strtotime("29 day $day"));//第30天 $rd5 = date ("Y-m-d", strtotime("-4 day $day"));//最后5天 $rd3 = date("Y-m-d", strtotime("-2 day $day"));//最后3天 $rd2 = date("Y-m-d", strtotime("-1 day $day"));//最后2天 $rd1 = date("Y-m-d", strtotime("-0 day $day")
",strtotime("+1 day")),"
";
echo "一周后:",date("Y-m-d",strtotime("+1 week")),"
";
echo "一周零两天四小时两秒后 ",strtotime("next Thursday")),"
";
echo "上个周一:".date("Y-m-d",strtotime("last Monday"))."
";
echo "一个月后:".date("Y-m-d",strtotime("+1 month"))." >
//strtotime可以接受第二个参数,类型timestamp,为指定日期
echo date('Y-m-d', strtotime ("+1 day", strtotime('2011-11-01 echo date('Y-m-d',strtotime('+1 d',strtotime('2009-07-08')));//日期天数相加函数
echo date("Y-m-d",'1246982400
",strtotime("+1 day")),"\n"; echo "一周后:",date("Y-m-d",strtotime("+1 week")),"\n"; echo "一周零两天四小时两秒后 ",strtotime("next Thursday")),"\n"; echo "上个周一:".date("Y-m-d",strtotime("last Monday"))." \n"; echo "一个月后:".date("Y-m-d",strtotime("+1 month"))." H:i:s', strtotime ("+1 day", strtotime('2017-11-11'))), "\n"; // 这里+1 day 可以修改参数1为任何想需要的数 ('+1 day', strtotime('2016-09-12'))), "\n\n"; echo strtotime('2016-09-12'), "\n"; echo date("Y-m-d
将年月日时间转换成时间戳 echo strtotime('2020-01-15 11:20:10'); //直接输出转换后的时间戳 当前时间加七天 echo date("Y-m-d H:i:s",strtotime ("+7 day")); //输出七天后的日期 php获取今天日期 date("Y-m-d",strtotime("today")); //strtotime(‘today’)输出今天的开始时间戳 date ("Y-m-d",time()); //time()输出当前秒时间戳 php获取昨天日期 date("Y-m-d",strtotime("-1 day")); date("Y-m-d",strtotime ("yesterday")); //二者都可以实现 php获取明天日期 date("Y-m-d",strtotime("+1 day")); date("Y-m-d",strtotime("tomorrow ")); //二者都可以实现 php获取7天后日期 date("Y-m-d",strtotime("+7 day")); 以此类推,需要获取多久后的日期就+多少day即可!
echo date(‘Y-m-d H s’,strtotime(‘now’));//当前时间戳 2017-01-09 21:04:11 echo date(‘Y-m-d H s’,strtotime(‘ +1second’));//当前时间戳+1秒 2017-01-09 21:04:12 echo date(‘Y-m-d H s’,strtotime(‘+1minute’));//当前时间戳+1分 2017 -01-09 21:05:11 echo date(‘Y-m-d H s’,strtotime(‘+1hour’));//当前时间戳+1小时 2017-01-09 22:04:11 echo date( ‘Y-m-d H s’,strtotime(‘+1day’));//当前时间戳+1天 2017-01-10 21:04:11 echo date(‘Y-m-d H s’,strtotime(‘+1week ’));//当前时间戳+1周 2017-01-16 21:04:11 echo date(‘Y-m-d H s’,strtotime(‘+1month’));//当前时间戳+1月 2017-02-09
7 : date('w'))) * 24 * 3600)); //同样使用w,以现在与周日相关天数算 //上周一 echo date('Y-m-d', strtotime('-1 monday', time())); //无论今天几号,-1 monday为上一个有效周未 //上周日 echo date('Y-m-d', strtotime('-1 sunday', time())); // strtotime生成 //本月最后一日 echo date('Y-m-d', strtotime(date('Y-m', time()) . '-' . date('t', time()) . ' 00:00:00')); //t为当月天数,28至31天 //上月一日 echo date('Y-m-d', strtotime('-1 month', strtotime(date('Y-m ', time()) . '-01 00:00:00'))); //本月一日直接strtotime上减一个月 //上月最后一日 echo date('Y-m-d', strtotime(date(
strtotime : strtotime() 函数将任何英文文本的日期或时间描述解析为 Unix 时间戳
substr(string,start,length):
string : 必需。 ($enddate)-strtotime($startdate))/86400); echo "相差天数:". 天
"; $hour=floor((strtotime($enddate)-strtotime($startdate))%86400/3600); echo "相差小时数:". 小时
"; $minute=floor((strtotime($enddate)-strtotime($startdate))%86400/60); echo"相差分钟数:". 分钟
"; $second=floor((strtotime($enddate)-strtotime($startdate))%86400%60); echo"相差秒数:".
7 : date('w'))) * 24 * 3600)); //同样使用w,以现在与周日相关天数算 //上周一 echo date('Y-m-d', strtotime('-1 monday', time())); //无论今天几号,-1 monday为上一个有效周未 //上周日 echo date('Y-m-d', strtotime('-1 sunday', time())); // strtotime生成 //本月最后一日 echo date('Y-m-d', strtotime(date('Y-m', time()) . '-' . date('t', time()) . ' 00:00:00')); //t为当月天数,28至31天 //上月一日 echo date('Y-m-d', strtotime('-1 month', strtotime(date('Y-m ', time()) . '-01 00:00:00'))); //本月一日直接strtotime上减一个月 //上月最后一日 echo date('Y-m-d', strtotime(date(