官方手册里面对strtotime的描述:

strtotime() 函数将任何英文文本的日期时间描述解析为 Unix 时间戳。

那么意味着这个函数可以把2010-02-28 18:31:33转换为1267353093这种格式

但是使用它转换时间戳的时候要注意的是服务器的date.timezone的配置,在函数说明中有这么一段话

该函数将使用 TZ 环境变量(如果有的话)来计算时间戳。自 PHP 5.1.0 起有更容易的方法来定义时区用于所有的日期/时间函数。此过程在 date_default_timezone_get()  函数页面中有说明。

上面的话可以这么理解:

如果date.timezone配置为空或者为UTC(格林威治时间),那么它就会直接把传入的时间直接转换为该时间的UNIX时间戳(相当于该时间识别为格林威治时间)

如果date.timezone配置了时区,例如Asia/Shanghai,那么这个函数就会将传入的时间认为是配置的时区的当地时间,然后根据该时区与UTC(格林威治时间)的时差来算格林威治时间的时间戳。

例如:

php.ini配置date.timezone为Asia/Shanghai;

我们传入:2010-02-28 18:31:33

函数转出的时间戳的实际时间为:

2010-02-28 10:31:33

因为Asia/Shanghai位于 +8区,那么函数会自动减去了8个钟头的时间来得到格林威治时间

参考程序测试代码:

<?php
echo '2010-02-28 00:00:00';
echo '<br>';
// 格林威治时间 0
date_default_timezone_set('UTC');
echo gmdate('Y-m-d H:i:s', strtotime('2010-02-28 00:00:00'));
echo '<br>';
// 中国上海时间 + 8
date_default_timezone_set('Asia/Shanghai');
echo gmdate('Y-m-d H:i:s', strtotime('2010-02-28 00:00:00'));
echo '<br>';
// 美国洛杉矶时间 - 8
date_default_timezone_set('America/Los_Angeles');
echo gmdate('Y-m-d H:i:s', strtotime('2010-02-28 00:00:00'));
echo '<br>';
?>

输出:

2010-02-28 00:00:00
2010-02-28 00:00:00
2010-02-27 16:00:00
2010-02-28 08:00:00

转载于:https://www.cnblogs.com/xiaochaohuashengmi/archive/2011/08/11/2135229.html

PHP函数strtotime()理解笔记相关推荐

  1. php strtotime 8小时,php时间函数strtotime的深入理解

    本节内容: php时间函数strtotime 先来看下php官方手册中对strtotime的描述: strtotime() 函数将任何英文文本的日期时间描述解析为 Unix 时间戳. 也就是说,此函数 ...

  2. Missing Tag Identification in COTS RFID Systems: Bridging the Gap between Theory and Practice 理解+笔记

    Missing Tag Identification in COTS RFID Systems: Bridging the Gap between Theory and Practice 理解+笔记+ ...

  3. MIT四足机器人Cheetah 3控制方案理解笔记(2)——Convex Mpc身体姿态控制

    在"MIT四足机器人Cheetah 3控制方案理解笔记(1)"中,主要简单的总结了下一般情况下腿足机器人的摆动腿控制方法以及Cheetah 3的基于集中质量模型的平衡控制器.此外, ...

  4. Fast and Accurate Detection of Unknown Tags for RFID Systems – Hash Collisions are Desirable 理解+笔记

    Fast and Accurate Detection of Unknown Tags for RFID Systems – Hash Collisions are Desirable 理解+笔记+翻 ...

  5. 对main函数的理解c语言,C语言编程漫谈——main函数

    写在前面 促使我写这篇文章是因为我这几天找了几个一样是大三的同学,与我相同专业相同方向(物联网)的人,除了@小胡同的诗,基本没有什么其他人会现在看起来很简单的编程题目了.问了一下其他同学,他们大部分都 ...

  6. Sleep()函数的理解、使用、意义

    一.Sleep()函数的理解 Sleep(0) 的意义是放弃当前线程执行的时间片,把自身放到等待队列之中.这时其它的线程就会得到时间片进行程序的程序.Sleep(0)能够降低当前线程的执行速 度,比如 ...

  7. javascript 匿名函数的理解

    代码如下: (function(){ //这里忽略jQuery所有实现 })(); (function(){ //这里忽略jQuery所有实现 })(); 半年前初次接触jQuery的时候,我也像其他 ...

  8. 如何用数学函数去理解机器学习?

    本文主要分享了如何基于数学函数原理去理解机器学习的本质,并简要介绍了机器学习的过程. 近期也是在做项目的过程中发现,其实AI产品经理不需要深入研究每一种算法,能了解机器学习的过程,这其中用到哪些常用算 ...

  9. Java 回调函数的理解

    以下是我对java回调函数的理解,希望对各位有帮助. 简而言之,假设有两个类A与B,还有一个回调接口C(有一个c方法).其中A类持有一个B类对象作为属性和拥有一个a方法,并实现了接口C,所以A类中就有 ...

  10. 7.STM32中对DMA_Config()函数的理解(自定义)测试DMA传输数据时CPU还可继续工作其他的事

    STM32中对DMA_Config()函数的理解(自定义):

最新文章

  1. 你想知道的“ROC曲线”
  2. 学长告诉你 java注解——深入浅出
  3. SAP HUM对嵌套HU做WM货物移动时TO单上只显示外层HU
  4. android 工作 绝望,我的人生绝望手游
  5. linux由哪些部分组成,linux内核处于什么位置?,为你介绍一些Linux操作系统的基础知识(一)...
  6. 微软二合一能装python吗_微软再出神器,这次终于对Python下手了!
  7. shiro学习(13):springMVC结合shiro完成认证
  8. to_date , to_char
  9. ssm 转发请求_千呼万唤!阿里内部终于把这份SSM框架技术学习笔记分享出来了...
  10. 女生可以学计算机应用吗,我是女生 学计算机应用技术还是软体技术
  11. 上海电力学院linux大作业,上海电力电路大作业2重点.docx
  12. 如何升级浏览器_涨姿势|教你用手机一键升级路由器软件(固件)
  13. Cocos2d-x Auto-batching 浅浅的”深入分析”
  14. C/C++[codeup 1941]新版A+B
  15. 人体姿态估计的基本概念
  16. Hadoop环境搭建学习之Hive(4)
  17. springboot版的微信公众号,订阅号
  18. Java—企业微信网页版登陆认证详解
  19. 【T3】运行时错误3709
  20. 自整理---Redis笔记

热门文章

  1. CMOS 与BIOS
  2. Silverlight 图片路径问题
  3. 觉得做人累了就看看这些!不是社会错了,是你错了!写的超好!
  4. C语言嵌入式系统编程修炼之道——软件架构篇
  5. java 内存 堆 栈 方法区 常量池
  6. 【原生JS】js小数正则
  7. 商品库存的扣除过程,如何防止超卖?
  8. “我男友是程序员,修BUG比我重要,服了!”
  9. 阿里,百度,腾讯等一线互联网公司中,Java开发的招聘标准
  10. 未来五年最具前景的一门编程语言是什么?