首页
学习
活动
专区
圈层
工具
发布
    • 综合排序
    • 最热优先
    • 最新优先
    时间不限
  • 来自专栏Web技术布道师

    令人困惑的strtotime

    再做日期规范化, 因为6月没有31号, 所以就好像2点60等于3点一样, 6月31就等于了7月1 是不是逻辑很”清晰”呢? , 都可能会有这个迷惑, 我们也可以很轻松的验证类似的其他月份, 印证这个结论: 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

    72520发布于 2019-07-25
  • 来自专栏luxixing

    强大的strtotime函数

    $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 =

    1.1K30发布于 2019-05-28
  • 来自专栏Web技术布道师

    php 之 strtotime 使用需注意

    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 引起的问题

    63120发布于 2019-07-25
  • 来自专栏陶士涵的菜地

    重回基础(date函数和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

    62910发布于 2019-09-10
  • 来自专栏zcqshine's blog

    PHP里 date() 函数与 strtotime() 函数笔记

    ###获取今日0点的时间戳 $today = strtotime(date('Ymd')); $today2 = strtotime('today'); echo "today = ". $today2; 输出: today = 1463500800 today2 = 1463500800 由此可见,获取今日0点时的时间戳可以直接使用strtotime("today").

    1.2K60发布于 2018-05-11
  • 来自专栏codersam

    PHP strtotime(date(Y-m-d) . 00:00:00)获取时间戳不准确的问题

    今天遇到一个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秒时间戳

    3.1K20发布于 2019-12-17
  • 来自专栏老高的技术博客

    PHP时间函数总结

    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") 他用来描述一段时间,形如P1Y2M3DT4H5M6S,字母都是大写。其中P后面跟年月日,T后面是时分秒。 2] => 12 [3] => 27 [4] => 2 [5] => 114 [6] => 4 [7] => 85 [8] => 0 ) 如果第二参数为真 31 "tm_mon" - 年份中的第几个月, 0 (Jan) 到 11 (Dec) "tm_year" - 年份,从 1900 开始 "tm_wday" - 星期中的第几天, 0 (Sun) 到 6

    3.3K20编辑于 2022-12-27
  • 来自专栏全栈程序员必看

    计算一段日期内的周末天数(星期六,星期日总和)(

    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 +

    1.8K20编辑于 2022-09-07
  • 来自专栏技术博文

    获取某个日期的第几天,倒数第几天

    $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")

    1.2K40发布于 2018-04-10
  • 获取每天时间戳,每周时间戳,每月时间戳和每年时间戳

    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

    5.7K10编辑于 2024-08-16
  • 来自专栏小孟开发笔记

    解决PHP时间戳中月份、日期前带不带0的问题

    2、获取时间戳方法time()、strtotime() 这两个方法,都可以获取php中unix时间戳,time()为直接获取得到,strtotime(time, now)为将时间格式转为时间戳, 3、 59” S – 字尾加英文序数,二个英文字母; 如: “th”,”nd” t – 指定月份的天数; 如: “28” 至 “31” U – 总秒数 w – 数字型的星期几,如: “0” (星期日) 至 “6” : echo strtotime(’2012-03-22′),输出结果:1332427715(此处结果为随便写的,仅作说明使用) echo strtotime(date(‘Y-d-m’)),输出结果: = explode(‘ ‘, microtime()); return (float)sprintf(‘%.0f’, (floatval(s1) + floatval(s2)) * 1000); } 6、 获取当前时间相差6小时解决方法 有些朋友,获取的时间与当前系统时间相差6个小时,这是因为时区设置问题,只要将之设为上海时间即可。

    8.1K30编辑于 2023-02-20
  • 来自专栏小孟开发笔记

    php处理时间戳解决时间戳中月份、日期前带不带0的问题

    2、获取时间戳方法time()、strtotime() 这两个方法,都可以获取php中unix时间戳,time()为直接获取得到,strtotime(time, now)为将时间格式转为时间戳, 3、 59” S – 字尾加英文序数,二个英文字母; 如: “th”,”nd” t – 指定月份的天数; 如: “28” 至 “31” U – 总秒数 w – 数字型的星期几,如: “0” (星期日) 至 “6” : echo strtotime(’2012-03-22′),输出结果:1332427715(此处结果为随便写的,仅作说明使用) echo strtotime(date(‘Y-d-m’)),输出结果: = explode(‘ ‘, microtime()); return (float)sprintf(‘%.0f’, (floatval(s1) + floatval(s2)) * 1000); } 6、 获取当前时间相差6小时解决方法 有些朋友,获取的时间与当前系统时间相差6个小时,这是因为时区设置问题,只要将之设为上海时间即可。

    10.7K50编辑于 2023-02-20
  • 来自专栏前端资源

    PHP获取当前时间、年份、月份、日期和天数

    获得简单的时间: 常用于时间的字符: H - 24小时格式,有前导0(08,18) h - 12小时格式,有前导0(06,11) G - 24小时格式,无前导0(9,17) g - 12小时格式,无前导0(6, php     echo checkdate(6, 25, 2017);//1 ?> time:获取当前时间戳 获取当前时间戳通过 time() 函数来实现。声明如下: int time(); <? php     $d=mktime(9, 12, 31, 6, 10, 2015);     echo "创建日期是:" . date("Y-m-d h:i:sa", $d); ? 语法: strtotime(time,now) 通过 strtotime() 函数创建日期和时间: 实例: <? php     $startdate = strtotime("Saturday");     $enddate = strtotime("+6 weeks",$startdate);          

    27.6K10发布于 2019-11-12
  • 来自专栏林冠宏的技术文章

    PHP 获取 特定时间范围 类

    ,或者 Nginx;   4,格式是时间戳,切记,拥有时间戳,就可以任意处理,可以生产这种日期时间格式: 2016-7-08 12:1:3;   5,常见的使用场景是,根据 时间范围 搜索数据;   6, php 2 /** 3 * Created by PhpStorm. 4 * Author: 林冠宏 5 * Date: 2016/6/4 6 * Time: 16:06 34 public function RangeTest(){ 35 /** 日 测试 */ 36 $this->GetTimeRang("日","2016-6- 5"); 37 $this->GetTimeRang("日"); 38 $this->GetTimeRang("日","2015-6-1"); 39 GetTimeRang("周","-1"); 43 $this->GetTimeRang("周","14"); 44 $this->GetTimeRang("周","6"

    2.9K100发布于 2018-01-03
  • 来自专栏linux 自动化运维

    php 获取指定日期是的星期几,根据本周周一时间 获取本周时间对应的7天星期

    $day1+5; $day7=$day1+6; $date1=$yue."-". $day5; $date6=$yue."-".$day6; $date7=$yue."-". ]; $week2=$weekarray[date("w",strtotime("$date2"))]; $week3=$weekarray[date("w",strtotime("$date3"))] ; $week4=$weekarray[date("w",strtotime("$date4"))]; $week5=$weekarray[date("w",strtotime("$date5"))]; $week6=$weekarray[date("w",strtotime("$date6"))]; $week7=$weekarray[date("w",strtotime("$date7"))];

    3.2K40发布于 2021-05-20
  • 来自专栏仙士可博客

    计算在工作日时间推迟时间的算法

        {         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 . " " . 

    1.2K30编辑于 2022-09-13
  • 来自专栏技术小牛

    php获取第N周的日期区间的工具方法

    */ public static function getDateByWeekNum($no, $dateFormat = 'Y.m.d'){ $newYearDate = strtotime 7-$dateOrder+1:0; //第N周的起始天应该是从第N-1周+1天开始的 $no--; $startDate = strtotime("+{$ no} week", strtotime("+$leftDaysToNextMonday days", $newYearDate)); $endDate = strtotime('+6

    1.9K20发布于 2021-07-23
  • 来自专栏呆呆熊的技术路

    关于php strotime("-1 month")的思考

    关于计算当前同比日期 如果业务中有这样的需求,你可能很快就会想到,代码也许这样写: echo date('Ymd',strtotime('20180907 -1 month')); //output: echo date('Ymd',strtotime('20180531 -1 month')); //output: 20180501 echo date('Ymd',strtotime('201801031 当前很多人发现了这个问题,有兴趣可以看下专家解惑: 令人困惑的strtotime 引用下关键点就是date内部变化导致的结果: 先做-1 month, 那么当前是07-31, 减去一以后就是06-31 再做日期规范化, 因为6月没有31号, 所以就好像2点60等于3点一样, 6月31就等于了7月1 既然有问题,肯定就有人想到了解决问题的方式,我们看下面这段代码: /** * 计算上一个月的今天,如果上个月没有今天 "-d", $time); } echo last_month_today(strtotime('20180331')); //output:2018-02-28 00:00:00 ...

    1.4K20发布于 2019-07-15
  • 来自专栏哆哆Excel

    ThinkPhp学习_004模型

    UserModel; $user->name = 'fs哆哆'; $user->email = 'yg@qq.com'; $user->birthday =strtotime user = new UserModel(); $list = [ ['name'=>'小龙女','email'=>'xlv@qq.com','birthday'=>strtotime ('2019-2-1')], ['name'=>'黄蓉','email'=>'hr@qq.com','birthday'=>strtotime('2018-2-1')], ], ['id' => 5, 'name' => '仪琳', 'email' => 'yls@qq.com'], ['id' => 6,

    30440编辑于 2022-10-25
  • 来自专栏十月梦想

    date函数和日期有关

      minutes             s 两位的秒    seconds             w 一周中的星期几                 week               (0-6  > strtotime — 将任何英文文本的日期时间描述解析为 Unix 时间戳 <? 7days');//输出时间戳 //time可以获取当前时间戳 echo time(); 当然也可以以指定形式输出指定日期 tring date($format[,$timestamp]),[]内的可以使用strtotime php date_default_timezone_set('Asia/Shanghai');//设置默认时区,为上海 //年月日格式输出7天后日期 echo date('Y-m-d',strtotime ('+7days')); //strtotime('');函数才参数输出指定日期英文形式,之后用+,之前用- 取整函数 1.直接取整,舍弃小数,保留整数:intval();  2.四舍五入取整:round

    1.7K20发布于 2018-08-29
领券