您现在的位置是:首页> 网站开发> PHP
PHP中时间和日期常用函数
- 4689人已阅读
- 时间:2020-02-01 10:08:57
- 分类:PHP
1.时间戳函数:
时间戳:是指自1970-1-1 0:0:0到现在所过去的秒数
time(void)返回当前的unix时间戳返回值到秒 microtime([bool|$get_as_float])返回当前的时间戳和微秒数 echo time();//1528465346 echo microtime();//0.01797300 1528465346 echo microtime(true);1528465346.018
2.时间戳格式化
date()格式化一个本地时间/日期 gmdate()格式化一个GMT/UTC日期/时间(和date()函数完全一样,只除了返回时间是格林威治标准时GMT) echo date('Y-m-d H:i:s') . '<br />';//2018-06-08 21:46:55 echo date("Y-m-d H:i",1528460160);//2018-06-08 20:16 echo gmdate('Y-m-d H:i:s') . '<br/>';//2018-06-08 13:46:55
3.解析检测日期
mktime([时[,分[,秒[月,[日,[,年]]]]]])//取得一个日期的Unix时间戳,如果参数为空取本地日期和时间的当前值 注意:参数从右向左省略,任何省略的参数会被设置成本地日期和时间的当前值. strtotime()将任何英文文本的日期时间描述解析为Unix时间戳 checkdate(月,日,年)检查一个日期是否合法 echo mktime(21,50,20,3,2,1986);//510155420 注意该函数虽然参数可省略,但不写参数建议使用time() echo strtotime("now");//输出现在的时间戳1528466403 echo strtotime("+1 day");//加1天也就是明天1528552878 echo strtotime(2018-08-2);//得到2018年8月2日现在的时间戳1528460160 var_dump(checkdate(12,31,2000));//检查2000年12月31日是否合法true
祥哥整理了一常见常用的
//(1)打印明天此时的时间戳 echo strtotime("+1 day"); //(2)打印昨天此时的时间戳 echo strtotime("-1 day"); //(3)打印下个星期此时的时间戳 echo strtotime("+1 week"); //(4)打印上个星期此时的时间戳 echo strtotime("-1 week"); //(5)打印指定下星期几的PHP时间戳 echo strtotime("next Thursday"); //(6)打印指定上星期几的时间戳 echo strtotime("last Thursday"); /* 时间转换函数 分别输出刚刚,分钟前,小时前,今天,昨天等函数 */ function transTime($ustime) { $ytime = date("Y-m-d H:i",$ustime); $rtime = date("n月j日 H:i",$ustime); $htime = date("H:i",$ustime); $time = time() - $ustime; $todaytime = strtotime("today"); $time1 = time() - $todaytime; if($time < 60){ $str = '刚刚'; }else if($time < 60 * 60){ $min = floor($time/60); $str = $min.'分钟前'; }else if($time < $time1){ $str = '今天'.$htime; }else{ $str = $rtime; } return $str; } $str = time(); echo transTime($str);
.以日期形式输出
echo "今天:".date("Y-m-d"); echo "昨天:".date("Y-m-d",strtotime("-1 day")); echo "明天:".date("Y-m-d",strtotime("+1 day")); echo "一周后:".date("Y-m-d",strtotime("+1 week")); echo "一周零两天四小时两秒后:".date("Y-m-d G:H:s",strtotime("+1 week 2 days 4 hours 2 seconds")); echo "下个星期四:".date("Y-m-d",strtotime("next Thursday")); echo "上个周一:".date("Y-m-d",strtotime("last Monday")); echo "一个月前:".date("Y-m-d",strtotime("last month")); echo "一个月后:".date("Y-m-d",strtotime("+1 month")); echo "十年后:".date("Y-m-d",strtotime("+10 year"));
//当月的天数,某月的天数 $month_days = date('t'); $month_days2 = date('t',strtotime('2017-2-6')); echo $month_days.'---'.$month_days2; echo "<br />"; //这个月的第一天的日期,这个月的最后一天的日期 $now_month_first_date = date('Y-m-1'); $now_month_last_date = date('Y-m-d',strtotime(date('Y-m-1',strtotime('next month')).'-1 day')); echo '当月第一天日期'.$now_month_first_date.'当月最后一天的日期'.$now_month_last_date; echo "<br />"; //上个月第一天的日期格式,上个月最后一天的日期格式 $last_mont_first_date = date('Y-m-1',strtotime('last month')); $last_mont_end_date = date('Y-m-d',strtotime(date('Y-m-1').'-1 day')); echo '上个月第一天的日期格式'.$last_mont_first_date.'上个月最后一天的日期格式'.$last_mont_end_date; echo "<br />"; //下个月的第一天时间日期 ,下个月的最后一天时间日期 $next_mont_first_date = date('Y-m-1',strtotime('next month')); $next_mont_end_date = date('Y-m-d',strtotime(date('Y-m-1',strtotime('next month')).'+1 month -1 day')); echo '下个月的第一天时间日期'.$next_mont_first_date.'下个月的最后一天时间日期'.$next_mont_end_date; echo "<br />"; //今日开始-结束时间戳 $start_time = strtotime(date('Y-m-d 00:00:00',time())); $end_time = ($start_time+86400); //本周开始-结束时间戳 $start_time = mktime(0, 0 , 0,date("m"),date("d")-date("w")+1,date("Y")); $end_time = mktime(23,59,60,date("m"),date("d")-date("w")+7,date("Y")); //本月开始-结束时间戳 $start_time = strtotime(date('Y-m-1').'-1 day')+24*60*60; $end_time = strtotime(date('Y-m-1 00:00:00',strtotime('next month'))); //本年开始时间-结束时间戳 $start_time = strtotime(date('Y-1-1 00:00:00',time())); $end_time = strtotime(date('Y-1-1 00:00:00',strtotime('+1 year')));
相关文章
- UNIX时间戳的格式化PHP和MYSQL两种方法
- MySql常用命令语法总结
- ThinkPHP5输入安全过滤规则
- ThinkPHP5启动事务处理.
- ThinkPHP5开发项目时,利用jQuery的Ajax异步上传图片并实时预缆
- Ajax中DATA传参的写法
- 详解A标签中href=""的几种用法而JavaScript:;又是什么
- TP5验证码实现教程
- TP5验证器使用实例
- ThinkPHP5构造子查询的方法
- PHP对字符串指定替换次数
- sublime text3之Emmet插件快捷键助快速编程
- Thinkphp5整合阿里大鱼的方法超级教程看了就能用.
- apache的Rewrite详解
- CMD常用命令总结
- Linux下的定时执行任务crontab,可以用于PHP定时执行.
- PHP实现定时任务详解
- 解决百度编辑器Ueditor前端语法高亮加行号显示
- 解决百度编辑器前端代码语言不能自动换行问题
- 解决百度编辑器UEditor行号错位问题
- excel无法打开文件,文件格式或文件扩展名无效,请确定文件未损坏
- CSS的position属性相对定位之绝对定位
- 百度编辑器1.4.3Ueditor不显示表格的解决方法还有不显示TH完美解决方案