热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

php关于日期时间的操作

日期时间在程序语言中通常用于显示以及条件限制。更为具体一点来说可能是希望以某种格式显示时间,显示某个时区的时间,获取一个星期之后的时间,获取本星期开始的时间戳,将某种格式的时间转换

日期时间在程序语言中通常用于显示以及条件限制。更为具体一点来说可能是希望以某种格式显示时间,显示某个时区的时间,获取一个星期之后的时间,获取本星期开始的时间戳,将某种格式的时间转换成另一种等等。

1. 显示当前时间

使用date函数,格式为date(format[, timestamp]),它接受两个参数,第一个参数为时间格式字符串,第二个参数为时间戳,时间戳可选,如果不填的话则是当前时间的时间戳。

echo date('Y-m-d H:i:s');  // 2018-12-25 09:31:22

像这样就可以打出当前的年月日时分秒来了,当然根据格式字符串的不同还可以打出其他格式的时间:

echo date('l dS \of F Y h:i:s A');  // Tuesday 25th of December2018 09:34:54 AM

解释一下上面所用到的格式字符:

Y 完整年份,4位数字

m 有前导0的月份

d 月中的第几天,有前导0

H 24小时制的小时,有前导0

i 分钟,有前导0

s 秒,有前导0

l 星期几的完整英文(注意是小写的L,不是大写的i)

S 每月天数的后缀(可能是st, nd, rd, th)

F 月份的完整英文

h 12小时制的小时,有前导0

A 上午或下午(AM或PM)

这只是列举了其中的一部分,更为完整的格式字符可以去查阅官方手册。

2. 显示某个时区的世界

比如通过设置时区,我们可以获得美国的时间:

date_default_timezone_set("America/New_York");echo date('Y-m-d H:i:s');  // 2018-12-24 20:54:36

上面就是美国纽约的世界,时区要求的字符串可以查阅php文档,如果不合法将会产生一条警告,同时时区也不会设置成功,而是使用默认的时区。

3. 计算的时间

比如本周开始的时间,本月开始的时间,一个星期之后的时间等,可以使用strtotime函数来帮我们完成这一点。

strtotime(time[, now = time()]) 可以将任何描述时间日期的字符串转换成unix时间戳,第一个参数是描述字符串,第二个参数是用来计算的时间戳(默认为当前时间戳)。看描述就知道是一个很灵活的函数,但要注意它毕竟这是一个函数,不会智能到“任何”描述时间的字符串它都能理解,还是需要特定格式的——特别是咱们中国地区,就不要指望它能理解“2018年12月25日”是什么意思了。但是它仍然很强大,前面描述的功能都可以做到。

echo '下个星期的时间:' . date('Y-m-d H:i:s', strtotime('+1 week'));  // 下个星期的时间:2019-01-01 10:12:16echo '本周开始时间:' . date('Y-m-d H:i:s', strtotime('this week Monday'));  // 本周开始时间:2018-12-24 00:00:00echo '明天开始时间:' . date('Y-m-d 00:00:00', strtotime('+1 day'));  // 明天开始时间:2018-12-26 00:00:00echo '1天2小时3分5秒之后的时间:' . date('Y-m-d H:i:s', strtotime('+1 day 2 hours 3 minute本&[email protected]#com搞(%代@#码网@s 5 seconds'));  // 1天2小时3分5秒之后的时间:2018-12-26 12:24:15

4. 根据具体值创建时间

如果你知道某个时间的年、月、日、时、分、秒,想用他们来创建一个时间,可以选择用他们拼接成一个时间字符串然后用strtotime来解析,或者在这种情况下也可以使用更为稳妥的方法:mktime。



推荐阅读
  • 如何提高PHP编程技能及推荐高级教程
    本文介绍了如何提高PHP编程技能的方法,推荐了一些高级教程。学习任何一种编程语言都需要长期的坚持和不懈的努力,本文提醒读者要有足够的耐心和时间投入。通过实践操作学习,可以更好地理解和掌握PHP语言的特异性,特别是单引号和双引号的用法。同时,本文也指出了只走马观花看整体而不深入学习的学习方式无法真正掌握这门语言,建议读者要从整体来考虑局部,培养大局观。最后,本文提醒读者完成一个像模像样的网站需要付出更多的努力和实践。 ... [详细]
  • TableAPI报一下异常:FieldtypesofqueryresultandregisteredTableSink
    报错信息如下:Exceptioninthread“main”org.apache.flink.table.api.ValidationException:Fieldtypesofq ... [详细]
  • 如何实现织梦DedeCms全站伪静态
    本文介绍了如何通过修改织梦DedeCms源代码来实现全站伪静态,以提高管理和SEO效果。全站伪静态可以避免重复URL的问题,同时通过使用mod_rewrite伪静态模块和.htaccess正则表达式,可以更好地适应搜索引擎的需求。文章还提到了一些相关的技术和工具,如Ubuntu、qt编程、tomcat端口、爬虫、php request根目录等。 ... [详细]
  • Metasploit攻击渗透实践
    本文介绍了Metasploit攻击渗透实践的内容和要求,包括主动攻击、针对浏览器和客户端的攻击,以及成功应用辅助模块的实践过程。其中涉及使用Hydra在不知道密码的情况下攻击metsploit2靶机获取密码,以及攻击浏览器中的tomcat服务的具体步骤。同时还讲解了爆破密码的方法和设置攻击目标主机的相关参数。 ... [详细]
  • 本文介绍了在序列化时如何对SnakeYaml应用格式化,包括通过设置类和DumpSettings来实现定制输出的方法。作者提供了一个示例,展示了期望的yaml生成格式,并解释了如何使用SnakeYaml的特定设置器来实现这个目标。对于正在使用SnakeYaml进行序列化的开发者来说,本文提供了一些有用的参考和指导。摘要长度为169字。 ... [详细]
  • 本文介绍了操作系统的定义和功能,包括操作系统的本质、用户界面以及系统调用的分类。同时还介绍了进程和线程的区别,包括进程和线程的定义和作用。 ... [详细]
  • 本文介绍了在使用Laravel和sqlsrv连接到SQL Server 2016时,如何在插入查询中使用输出子句,并返回所需的值。同时讨论了使用CreatedOn字段返回最近创建的行的解决方法以及使用Eloquent模型创建后,值正确插入数据库但没有返回uniqueidentifier字段的问题。最后给出了一个示例代码。 ... [详细]
  • 本文介绍了如何使用PHP代码将表格导出为UTF8格式的Excel文件。首先,需要连接到数据库并获取表格的列名。然后,设置文件名和文件指针,并将内容写入文件。最后,设置响应头部,将文件作为附件下载。 ... [详细]
  • 本文讨论了如何使用GStreamer来删除H264格式视频文件中的中间部分,而不需要进行重编码。作者提出了使用gst_element_seek(...)函数来实现这个目标的思路,并提到遇到了一个解决不了的BUG。文章还列举了8个解决方案,希望能够得到更好的思路。 ... [详细]
  • 【重识云原生】第四章云网络4.8.3.2节——Open vSwitch工作原理详解
    2OpenvSwitch架构2.1OVS整体架构ovs-vswitchd:守护程序,实现交换功能,和Linux内核兼容模块一起,实现基于流的交换flow-basedswitchin ... [详细]
  • Summarize function is doing alignment without timezone ?
    Hi.Imtryingtogetsummarizefrom00:00otfirstdayofthismonthametric, ... [详细]
  • 1.imac睡眠快捷键是啥苹果电脑强制退出程序快捷键是Command+Option+Shift+Esc。苹果电脑 ... [详细]
  • 这期内容当中小编将会给大家带来有关如何在php表单中使用正则表达式,文章内容丰富且以专业的角度为大家分析和叙述,阅读完这篇文章希望大家可 ... [详细]
  • Python——Pandas 时间序列数据处理
    介绍Pandas是非常著名的开源数据处理库,我们可以通过它完成对数据集进行快速读取、转换、过滤、分析等一系列操作。同样,Pandas已经被证明为是非常强大的用于处理时间序列数据的工 ... [详细]
  • 定义函数functionf(){}调用函数f();可变函数functionf(){}$f1f;$f1();匿名函数$ffunction($ ... [详细]
author-avatar
草莓顽子该_589
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有