一、time() 来取得服务器当前时间的时间戳

  UNIX 时间戳(timestamp)是 PHP 中关于时间日期一个很重要的概念,它表示从 1970年1月1日 00:00:00 到当前时间的秒数之和。

  PHP提供了内置函数 time() 来取得服务器当前时间的时间戳。然后可以通过Data()等函数将它格式化为我们需要的时间日期格式。

  时间戳虽然看起来好像不太直观,但我们在对时间做计算时却很方便。

  有效的时间戳典型范围是格林威治时间 1901年12月13日 20:45:54 到 2038年1月19日 03:14:07(此范围符合 32 位有符号整数的最小值和最大值)。不过从 5.1.0 起,已经克服了年的范围只能是 1901 到 2038 之间的问题。

  提示

  1. time() 得到的总是当前的时间戳,所以是不固定的值
  2. 如果时间戳为负数,则为从1970年1月1日 00:00:00往前推

  $_SERVER['REQUEST_TIME'] 是 PHP 内置的当前页面开始运行时的时间戳,在当前页面运行结束时将 time() - $_SERVER['REQUEST_TIME'] 得到的就是当前页面运行的时间(秒):

二、Date() 函数

  语法 date(format,timestamp)

  format:必需。规定时间戳的格式。

  timestamp:可选。规定时间戳。默认是当前时间和日期。(给出一个时间,格式转换为规定的格式)

  注释:时间戳是一种字符序列,它表示具体事件发生的日期和事件。

  1)获得简单的日期

  date() 函数的格式参数是必需的,它们规定如何格式化日期或时间。

  下面列出了一些常用于日期的字符:

  

  其他字符,比如 "/", "." 或 "-" 也可被插入字符中,以增加其他格式。

  data(Y/m/d);//将当前日期转换为年/月/日格式eg:2016/01/07

  data("1");//eg:Friday 

  2)获得简单的时间

  下面是常用于时间的字符:

  • h - 带有首位零的 12 小时小时格式
  • i - 带有首位零的分钟
  • s - 带有首位零的秒(00 -59)
  • a - 小写的午前和午后(am 或 pm)

  3)获得时区

  如果从代码返回的不是正确的时间,有可能是因为您的服务器位于其他国家或者被设置为不同时区。

  因此,如果您需要基于具体位置的准确时间,您可以设置要用的时区

  date_default_timezone_set("Asia/Shanghai");

、mktime() 创建日期

  语法

 mktime(hour,minute,second,month,day,year)
参数可以从右向左省略,任何省略的参数会被设置成本地日期和时间的当前值。
eg:
$myData = mktime(12,33,52,12,2,2016);
data("Y/m/d h:i:s a",$myData);

mktime() 在做日期计算和验证方面很有用,它会自动计算超出范围的输入的正确值。例如下面例子输出的都是 2008-01-01:
<?php
echo date("Y-m-d", mktime(0, 0, 0, 12, 32, 2007));//无效的日期
echo date("Y-m-d", mktime(0, 0, 0, 13, 1, 2007));//无效的月份
?>

四、strtotime() 用字符串来创建日期,用于把人类可读的英文文本字符串转换为 Unix 时间。成功返回时间戳,否则返回 FALSE

  int strtotime ( string time [, int now] )

  (1)明天此时的时间戳strtotime(”+1 day”)/strtotime("tomorrow");
  (2)昨天此时的时间戳strtotime(”-1 day”)
  (3)下个星期此时的时间戳strtotime(”+1 week”)
  (4)上个星期此时的时间戳strtotime(”-1 week”)
  (5)指定下星期几的时间戳strtotime(”next Thursday”)
  (6)指定上星期几的时间戳strtotime(”last Thursday”)

  (7)三个月后此时的时间戳strtotime("+3 Months");

  我们结合mktime()或date()格式化日期时间获取指定的时间戳,实现所需要的日期时间。

  更多日期函数函数:http://www.w3school.com.cn/php/php_ref_date.asp

  如果文中有什么错误,欢迎指出,感激不尽。

php学习笔记——日期和时间的更多相关文章

  1. SQLServer学习笔记<>日期和时间数据的处理(cast转化格式、日期截取、日期的加减)和 case表达式

    日期和时间数据的处理. (1)字符串日期 ‘20080301’,这一串为字符串日期,但必须保证为四位的年份,两位的月份,两位的日期.例如,查询订单表日期大于‘20080301’.可以这样写: 1 se ...

  2. js学习笔记之:时间(一)

    日期和时间是javaScript中常用的对象,可以通过此对象判断星期.生日.纪念日等,提高网站的人性化.下面将通过实例来介绍一下学习javaScript中有关时间和日期的知识点: (1)日期和时间函数 ...

  3. VBA 学习笔记 - 日期

    date() 返回当前的系统日期 返回格式为 YYYY/MM/DD CDate() 学习资料:https://www.yiibai.com/vba/vba_cdate_function.html 将有 ...

  4. js学习笔记之:时间(三)

    今天来学习一个简单的时间应用:时间的倒影,如图所示:   主要知识点: 1  获取系统的时间值:2 建立一个div的倒影 div的倒影主要利用css来控制,函数值为:filter:flipv() 步骤 ...

  5. MySQL 笔记 —— 日期和时间函数

    [TOC] 获取当前日期的函数和获取当前时间的函数 CURDATE()和CURRENT_DATE()函数获取当前日期:CURTIME()和CURRENT_TIME()函数获取当前时间. mysql&g ...

  6. MySQL学习笔记:生成时间维度表

    # ---- 对应时间戳怎么生成的? ---- /*TIME_CD TIME_CD1000000 000005000001 000005000002 000005000003 000005000004 ...

  7. odoo开发笔记--日期or时间字段给定默认值

    开发中经常有这样的场景,需要给某个日期或者时间的字段默认值: 例如: 日期,默认今天 时间,默认当前时间 可以在odoo模型定义中进行设置, 如下样例提供参考: test_data = fields. ...

  8. js学习笔记-日期对象

    <body> <script> var d = new Date() console.log(d) var arr = ['星期日', '星期一', '星期二', '星期三', ...

  9. python学习笔记23(时间与日期 (time, datetime包))

    Python提供了多个内置模块用于操作日期时间,像calendar,time,datetime. time包 time包基于C语言的库函数(library functions).Python的解释器通 ...

随机推荐

  1. Run QTP script wiht host in HPQC

  2. Mysql个人语句笔记

    --一些简单语句记录: /*mysql*/SHOW DATABASES CREATE DATABASE guoDROP DATABASE guo /*查看创建的数据库*/SHOW CREATE DAT ...

  3. Coffee

    Coffee 从接触Spring 到现在已经差不多2年多了,期间用它做过几个项目,从个人使用角度来说,Spring无疑是非常的成熟和方便的,但是知道怎么用,却不知道原理是码农和攻城师的区别,现在准备自 ...

  4. [转]【Android】9-patch图片以及例子说明

    1.何为9-patch? NinePatch图片以*.9.png结尾,和普通图片(png图片)的区别是四周多了一个边框(如下图所示): 采用NinePatch图片做背景,可使背景随着内容的拉伸(缩小) ...

  5. boost------signals2的使用1(Boost程序库完全开发指南)读书笔记

    signals2基于Boost的另一个库signals,实现了线程安全的观察者模式.在signals2库中,观察者模式被称为信号/插槽(signals and slots),他是一种函数回调机制,一个 ...

  6. Object C和C#的差异

    从C#到Object C,循序渐进学习苹果开发(1)--准备开发账号和开发环境 本随笔系列主要介绍从一个Windows平台从事C#开发到Mac平台开发苹果开发的一系列感想和体验历程,本系列文章是在起步 ...

  7. .net winForm 实现类似qq 弹出新闻

    .net winForm 实现类似qq 弹出新闻   一.背景: echong 之前一直用 公司大牛c语言写的一个弹出托管,前几天写东西的时候发现com调用不是那么好使.而手头上写的这个东西又是.ne ...

  8. 使用TotoriseSVN的分支/标签功能

    使用TotoriseSVN的分支/标签功能 http://blog.sina.com.cn/s/blog_5383588c0100o1oo.html 原来在新建一个项目文件夹后,再把Trunk.Bra ...

  9. How To Configure Logging And Log Rotation In Apache On An Ubuntu VPS

    Introduction The Apache web server can be configured to give the server administrator important info ...

  10. 联想E430Cwindow8系统换成win7

    垃圾win8系统各种不习惯,尤其无线网络老是自己断掉,忍无可忍只能换成win7,之前换过一次,没有成功,记得是提示硬盘模式要由GPT换成MBR. 这次换系统采用了PE里直接分区,格式化所有数据,然后g ...