PHP开发札记系列(三)-日期与时间

php中文网
发布: 2016-06-13 10:29:47
原创
1075人浏览过

PHP开发笔记系列(三)-日期与时间

??? 前两篇完成了《php开发笔记系列(一)-pdo使用》和《php开发笔记系列(二)-字符串使用》,今天开始研究一下php中的日期时间处理和mysql中的日期时间处理,《php开发笔记系列(三)-日期与时间》。

?

????? 日期时间是平常用得比较多的函数,在JAVA中我们通过new Date()可以获取服务器的当前时间,通过SimpleDateFormat类,并指定formatString,可以将date对象的值格式化成指定的形式。同理,在PHP中,同样有类似的类和函数,那就是time函数和date函数。time()类似于new Date(),能够获取服务器当前时间,date函数类似于SimpleDateFormat类。

1. 使用time函数获取服务器当前时间,使用date函数进行格式化

file:time.phpurl:http://localhost:88/datetime/timephp<?php    // 获取服务器当前时间    $time = time();       echo $time."<br/>";       // 获取当前默认是时区    echo date_default_timezone_get()."<br/>";    echo date("Y-m-d h:i:s", $time)."<br/>";    echo "<hr/>";       // 设置当前默认是时区    date_default_timezone_set("America/New_York");    echo date("Y-m-d h:i:s", $time)."<br/>";?>
登录后复制
?


2. 通过字符串构造日期时间

file:strtotime.phpurl:http://localhost:88/datetime/strtotime.php<?php      // 字符串转time类型    $time1 = strtotime("2012-05-27 10:52:05");        // 使用date函数获取星期几并输出    echo 'today:'.date("l", $time1)."<br/>";        // 使用date函数获取当月总天数并输出    echo 'total day of this month:'.date("t", $time1)."<br/>";?>
登录后复制
?

3. 基于当前时间的日期时间计算

立即学习PHP免费学习笔记(深入)”;

file:date-compute.phpurl:http://localhost:88/datetime/date-compute.php<?php    // 计算time    $nextDay = strtotime("+1 day", time());    $lastDay = strtotime("-1 day", time());    $nextMonth = strtotime("+1 month", time());    $lastMonth = strtotime("-1 month", time());    $nextYear = strtotime("+1 year", time());    $lastYear = strtotime("-1 year", time());        echo 'new day:'.date("Y-m-d h:i:s", $nextDay)."<br/>";    echo 'last day:'.date("Y-m-d h:i:s", $lastDay)."<br/>";    echo 'next month:'.date("Y-m-d h:i:s", $nextMonth)."<br/>";    echo 'last month:'.date("Y-m-d h:i:s", $lastMonth)."<br/>";    echo 'next year:'.date("Y-m-d h:i:s", $nextYear)."<br/>";    echo 'last year:'.date("Y-m-d h:i:s", $lastYear)."<br/>";        // 通过date函数获取年份    echo 'current year:'.date("Y");?>
登录后复制

?
4. 在SQL中处理日期时间

SELECT NOW()SELECT CURRENT_TIMESTAMP();SELECT DATE_FORMAT(NOW(), "%Y-%m-%d");SELECT DATE_FORMAT(NOW(), "%h:%i:%s");SELECT DATE_FORMAT(NOW(), "%W %w %p");
登录后复制

?

5. 在SQL中进行日期计算
??? 使用DATE_ADD函数进行未来日期的计算

AutoGLM沉思
AutoGLM沉思

智谱AI推出的具备深度研究和自主执行能力的AI智能体

AutoGLM沉思 239
查看详情 AutoGLM沉思
SELECT DATE_ADD(NOW(), INTERVAL 1 YEAR);SELECT DATE_ADD(NOW(), INTERVAL 1 MONTH);SELECT DATE_ADD(NOW(), INTERVAL 1 DAY);SELECT DATE_ADD(NOW(), INTERVAL 1 HOUR);SELECT DATE_ADD(NOW(), INTERVAL 1 MINUTE);SELECT DATE_ADD(NOW(), INTERVAL 1 SECOND);
登录后复制

?

??? 使用DATE_SUB函数进行过去日期的计算

SELECT DATE_SUB(NOW(), INTERVAL 1 YEAR);SELECT DATE_SUB(NOW(), INTERVAL 1 MONTH);SELECT DATE_SUB(NOW(), INTERVAL 1 DAY);SELECT DATE_SUB(NOW(), INTERVAL 1 HOUR);SELECT DATE_SUB(NOW(), INTERVAL 1 MINUTE);SELECT DATE_SUB(NOW(), INTERVAL 1 SECOND);
登录后复制

?


??? 上述函数的执行结合也可用于SQL语句当中,如查询前三天的日志信息,SQL如下:
SELECT * FROM log WHERE create_time BETWEEN SELECT DATE_SUB(NOW(), INTERVAL 3 DAY) AND SELECT DATE_ADD(NOW(), INTERVAL 1 DAY);

?

??? 本文地址:http://ryan-d.iteye.com/blog/1543363

?

PHP速学教程(入门到精通)
PHP速学教程(入门到精通)

PHP怎么学习?PHP怎么入门?PHP在哪学?PHP怎么学才快?不用担心,这里为大家提供了PHP速学教程(入门到精通),有需要的小伙伴保存下载就能学习啦!

下载
来源:php中文网
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
最新问题
开源免费商场系统广告
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号