一、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. Forget Java to learn Javascript from 0.--Preface

    I'm going to start to learn Javascript in this month. Someone told me you can't learn another langua ...

  2. JAVA学习:多态

    多态:可以理解为事物存在的多种体现形态.   人:男人,女人 动物:猫,狗. 猫 x = new 猫(); 动物 x = new 猫()   1,多态的体现 父类的引用指向了自己的子类对象. 父类的引 ...

  3. ESB与SOA的关系

    ESB与SOA的关系 一.SOA和ESB一直是没有明确概念的两个缩略词 SOA----面向服务架构,实际上强调的是软件的一种架构,一种支撑软件运行的相对稳定的结构,表面含义如此,其实SOA是一种通过服 ...

  4. jQuery选择表格中的列

    以选择table中的第一列为例: 方式1: $("table tr").find("td:first").html("first column&quo ...

  5. [转]iOS Tutorial – Dumping the Application Memory Part 2

    Source:https://blog.netspi.com/ios-tutorial-dumping-the-application-memory-part-2/ In my previous bl ...

  6. 64位CentOS 6.0下搭建LAMP环境

    系统环境:Centos6.0 x64 1.确认搭建LAMP所需要的环境是否已经安装 [root@centos6 ~]# rpm -q make gcc gcc-c++ zlib-devel libai ...

  7. 成都传智播客JDBC视频及讲师介绍

    成都传智播客java讲师,也许,你跟他很熟,你或者听过他的课,或者跟他争论过什么,又或者你们在一起共事,再者你们只是偶尔擦肩而过.在小编的印象中郭老师完全没有架子,和他相处会让你觉得不是面对一个老师, ...

  8. Web前端优化需要注意的点

    关键在于:如何提高页面访问速度:如何减少服务器负载和带宽压力: 1.      cache:包括数据库表的缓存,浏览器缓存,服务器端缓存(代理服务器缓存,CDN缓存,反向代理服务器缓存),web应用程 ...

  9. 使用DBUnit实现对数据库的测试

    这是一个JavaProject,有关DBUnit用法详见本文测试用例 首先是用到的实体类User.java package com.jadyer.model; public class User { ...

  10. 用Arduino做一个可视化网络威胁级别指示器!

    在当今世界,网络监控器是非常重要的.互联网是个可怕的地方.人们已经采取措施以提高警戒----他们安装了入侵检测系统(IDS)比如SNORT. 通过把可视化部分从电脑中移出来,我们想让它更容易去观察.一 ...