`

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.php
url: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.php
url: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. 基于当前时间的日期时间计算

file:date-compute.php
url: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函数进行未来日期的计算

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提供了大量的内置函数,如字符串处理、数组操作、日期时间等。 - **数组**:非常强大的数据结构,分为索引数组和关联数组两种形式。 5. **数据库交互**: - **MySQL**:最常用的数据库之一,PHP...

    ThinkPHP开发笔记

    在开发基于ThinkPHP框架的应用程序时,需要注意一系列关键点,以确保代码的高效性和安全性。以下是一些关于ThinkPHP开发的重要知识点: 1. **主机目录与网站目录分离**:为了提高安全性,通常会将主机目录与网站...

    php学习笔记

    ### PHP学习笔记:数据库连接与循环语句应用 #### 数据库连接 在PHP中,连接数据库是一项非常重要的技能,尤其是在开发动态网站时。通常我们使用MySQL数据库,并通过PHP的多种扩展来实现数据库的操作,比如MySQLi...

    基于PHP的有道笔记 API (libNote).zip

    【标题】"基于PHP的有道笔记API (libNote)"是一个专门为开发者提供的工具包,它允许用户通过PHP语言与有道笔记服务进行交互,实现笔记的创建、编辑、同步等功能。这个API库使得开发者能够轻松地将有道笔记的功能集成...

    PHP笔记之:日期函数的使用介绍

    这些函数能够帮助开发者完成各种与日期时间相关的操作,比如格式化日期、计算时间差以及创建和操作时间戳等。对于Web开发来说,这些功能尤为重要,因为几乎每个网站都会有显示日期和时间的需求。 文章中提到的date...

    MySQL笔记.rar

    MySQL中的数据类型包括数值类型(如INT、FLOAT、DECIMAL)、字符串类型(VARCHAR、CHAR)、日期和时间类型(DATE、TIME、DATETIME、TIMESTAMP)以及二进制类型(BLOB、TEXT)。选择合适的数据类型对于存储效率和查询...

    \PHP常用函数功能资料大全.doc

    12. apache_*系列函数:与Apache服务器交互,如apache_lookup_uri()获取URI信息,apache_note()记录请求笔记。 13. array_*系列函数:处理数组,如array_walk()遍历数组并应用用户定义的函数,array_push()向数组...

    PHP图书管理系统录像.rar

    这个“PHP图书管理系统录像”可能包含了一个完整的教学系列,通过视频教程的方式,详细讲解如何利用PHP技术来开发一个图书管理系统。这样的系统对于图书馆、书店或任何需要管理和展示大量图书信息的组织都极其有用。...

    mysql视频教程笔记

    3. **数据类型**: 在创建表时,需要为每个字段指定数据类型,如INT(整数)、VARCHAR(可变长度字符串)、DATE(日期)、TIME(时间)、TIMESTAMP(时间戳)等。 4. **表之间的关系**: 在关系型数据库中,表之间...

    CakePHP(PHP的框架) v5.0.0.zip

    5. **助手(Helper)**:助手类提供了一系列辅助方法,用于生成HTML、处理日期时间等,方便视图层的开发。 6. **组件(Component)**:组件可以看作是跨控制器的功能集合,如认证、授权、分页等,可复用且易于维护...

    使用PHP实现蜘蛛访问日志统计

    8. 日志格式化:通过日期函数`date`可以格式化当前日期和时间,结合客户端IP、爬虫名称和请求的URL,使得记录的信息更加结构化和易于阅读。 9. 代码安全性:在处理用户输入时,使用`addslashes`函数进行转义是为了...

    more.groupware-开源

    "more.groupware-开源"是一个基于PHP开发的全功能群件系统,专为Web环境设计。这个开源项目提供了一系列的企业协作工具,旨在提高团队的工作效率和沟通效果。下面将详细介绍这个系统的关键特性、功能模块以及可能的...

    ace_admin_v1.4.0(已整理,直接使用)

    Ace Admin v1.4.0 是一款精心整理过的网站后台管理系统模板,专为开发者和设计师提供便捷的开发体验。这款模板充分利用了流行的前端框架Bootstrap,确保了其在设计上的轻量化、功能上的丰富性,以及对HTML5的支持,...

Global site tag (gtag.js) - Google Analytics