PHP常用时间函数总结:

time

time — 返回当前的 Unix 时间戳

说明

int time ( void )
返回自从 Unix 纪元(格林威治时间 1970 年 1 月 1 日 00:00:00)到当前时间的秒数。

范例

Example #1 time() 例子

<?php
$nextWeek = time() + (7 * 24 * 60 * 60);// 7 days; 24 hours; 60 mins; 60 secs
echo 'Now:       '. date('Y-m-d') ."\n";
echo 'Next Week: '. date('Y-m-d', $nextWeek) ."\n";
// or using strtotime():
echo 'Next Week: '. date('Y-m-d', strtotime('+1 week')) ."\n";
?>

输出类似于:

  • Now: 2005-03-30
  • Next Week: 2005-04-06
  • Next Week: 2005-04-06

microtime

microtime — 返回当前 Unix 时间戳和微秒数

说明

mixed microtime ([ bool $get_as_float ] )
microtime() 当前 Unix 时间戳以及微秒数。本函数仅在支持 gettimeofday() 系统调用的操作系统下可用。

如果调用时不带可选参数,本函数以 "msec sec" 的格式返回一个字符串,其中 sec 是自 Unix 纪元(0:00:00 January 1, 1970 GMT)起到现在的秒数,msec 是微秒部分。字符串的两部分都是以秒为单位返回的。

如果给出了 get_as_float 参数并且其值等价于 TRUE,microtime() 将返回一个浮点数。

Example #1 用 microtime() 对脚本的运行计时

<?php
function microtime_float()
{list($usec, $sec) = explode(" ", microtime());return ((float)$usec + (float)$sec);
}$time_start = microtime_float();usleep(100);$time_end = microtime_float();
$time = $time_end - $time_start;echo "Did nothing in $time seconds\n";
?> 

date

date — 格式化一个本地时间/日期

说明

string date ( string $format [, int $timestamp ] )
返回将整数 timestamp 按照给定的格式字串而产生的字符串。如果没有给出时间戳则使用本地当前时间。换句话说,timestamp 是可选的,默认值为 time()。

Example #1 date() 例子

<?php
// 设定要用的默认时区。自 PHP 5.1 可用
date_default_timezone_set('UTC');// 输出类似:Monday
echo date("l");// 输出类似:Monday 15th of August 2005 03:12:46 PM
echo date('l dS \of F Y h:i:s A');// 输出:July 1, 2000 is on a Saturday
echo "July 1, 2000 is on a " . date("l", mktime(0, 0, 0, 7, 1, 2000));/* 在格式参数中使用常量 */
// 输出类似:Wed, 25 Sep 2013 15:28:57 -0700
echo date(DATE_RFC2822);// 输出类似:2000-07-01T00:00:00+00:00
echo date(DATE_ATOM, mktime(0, 0, 0, 7, 1, 2000));
?>

Example #2 在 date() 中转义字符

<?php
// prints something like: Wednesday the 15th
echo date("l \\t\h\e jS");
?>
可以把 date() 和 mktime() 函数结合使用来得到未来或过去的日期。Example #3 date() 和 mktime() 例子<?php
$tomorrow  = mktime(0, 0, 0, date("m")  , date("d")+1, date("Y"));
$lastmonth = mktime(0, 0, 0, date("m")-1, date("d"),   date("Y"));
$nextyear  = mktime(0, 0, 0, date("m"),   date("d"),   date("Y")+1);
?>

Example #4 date() 格式举例

<?php
// 假定今天是:March 10th, 2001, 5:16:18 pm
$today = date("F j, Y, g:i a");                 // March 10, 2001, 5:16 pm
$today = date("m.d.y");                         // 03.10.01
$today = date("j, n, Y");                       // 10, 3, 2001
$today = date("Ymd");                           // 20010310
$today = date('h-i-s, j-m-y, it is w Day z ');  // 05-16-17, 10-03-01, 1631 1618 6 Fripm01
$today = date('\i\t \i\s \t\h\e jS \d\a\y.');   // It is the 10th day.
$today = date("D M j G:i:s T Y");               // Sat Mar 10 15:16:08 MST 2001
$today = date('H:m:s \m \i\s\ \m\o\n\t\h');     // 17:03:17 m is month
$today = date("H:i:s");                         // 17:16:17
$today = date("Y-m-d H:i:s");                   // 2001-03-10 17:16:18 (MySQL DATETIME 格式)
?>

idate

idate — 将本地时间日期格式化为整数

说明

int idate ( string $format [, int $timestamp ] )
根据给定的格式字符对 timestamp 格式化并返回数字结果。timestamp 为可选项,默认值为本地当前时间,即 time() 的值。

<?php
$timestamp = strtotime('1st January 2004'); //1072915200// 下面以两位数字格式显示年份,但是因为
// 以“0”打头,因此只会显示“4”
echo idate('y', $timestamp);
?>

strtotime

strtotime — 将任何字符串的日期时间描述解析为 Unix 时间戳

说明

int strtotime ( string $time [, int $now = time() ] )
本函数预期接受一个包含美国英语日期格式的字符串并尝试将其解析为 Unix 时间戳(自 January 1 1970 00:00:00 GMT 起的秒数),其值相对于 now 参数给出的时间,如果没有提供此参数则用系统当前时间。

Example #1 strtotime() 例子

<?php
echo strtotime("now"), "\n";
echo strtotime("10 September 2000"), "\n";
echo strtotime("+1 day"), "\n";
echo strtotime("+1 week"), "\n";
echo strtotime("+1 week 2 days 4 hours 2 seconds"), "\n";
echo strtotime("next Thursday"), "\n";
echo strtotime("last Monday"), "\n";
?>

Example #2 失败检查

<?php
$str = 'Not Good';// previous to PHP 5.1.0 you would compare with -1, instead of false
if (($timestamp = strtotime($str)) === false) {echo "The string ($str) is bogus";
} else {echo "$str == " . date('l dS of F Y h:i:s A', $timestamp);
}
?>

date_add

date_add — 别名 DateTime::add()

说明

此函数是该函数的别名: DateTime::add()

说明

面向对象风格

public DateTime DateTime::add ( DateInterval $interval )
过程化风格

DateTime date_add ( DateTime $object , DateInterval $interval )
Adds the specified DateInterval object to the specified DateTime object.

DateTime::add()
参数

object
仅过程化风格:由 date_create() 返回的 DateTime 类型的对象。此函数会修改这个对象。

interval
A DateInterval object

返回值

返回被修改的 DateTime 对象, 或者在失败时返回 FALSE.

范例

Example #1 DateTime::add() example

面向对象风格

<?php
$date = new DateTime('2000-01-01');
$date->add(new DateInterval('P10D'));
echo $date->format('Y-m-d') . "\n";
?>

过程化风格

<?php
$date = date_create('2000-01-01');
date_add($date, date_interval_create_from_date_string('10 days'));
echo date_format($date, 'Y-m-d');
?>

以上例程会输出:

2000-01-11

Example #2 Further DateTime::add() examples

<?php
$date = new DateTime('2000-01-01');
$date->add(new DateInterval('PT10H30S'));
echo $date->format('Y-m-d H:i:s') . "\n";$date = new DateTime('2000-01-01');
$date->add(new DateInterval('P7Y5M4DT4H3M2S'));
echo $date->format('Y-m-d H:i:s') . "\n";
?>

以上例程会输出:

2000-01-01 10:00:30
2007-06-05 04:03:02
Example #3 Beware when adding months<?php
$date = new DateTime('2000-12-31');
$interval = new DateInterval('P1M');$date->add($interval);
echo $date->format('Y-m-d') . "\n";$date->add($interval);
echo $date->format('Y-m-d') . "\n";
?>

以上例程会输出:

2001-01-31
2001-03-03

date_diff

date_diff — 别名 DateTime::diff()

说明

此函数是该函数的别名: DateTime::diff()

范例

Example #1 DateTime::diff() example

面向对象风格

<?php
$datetime1 = new DateTime('2009-10-11');
$datetime2 = new DateTime('2009-10-13');
$interval = $datetime1->diff($datetime2);
echo $interval->format('%R%a days');
?>

过程化风格

<?php
$datetime1 = date_create('2009-10-11');
$datetime2 = date_create('2009-10-13');
$interval = date_diff($datetime1, $datetime2);
echo $interval->format('%R%a days');
?>

以上例程会输出:

+2 days

Example #2 DateTime object comparison

<?php
$date1 = new DateTime("now");
$date2 = new DateTime("tomorrow");var_dump($date1 == $date2);
var_dump($date1 < $date2);
var_dump($date1 > $date2);
?>

以上例程会输出:

bool(false)
bool(true)
bool(false)

date_default_timezone_set

date_default_timezone_set — 设定用于一个脚本中所有日期时间函数的默认时区

说明

bool date_default_timezone_set ( string $timezone_identifier )

date_default_timezone_set() 设定用于所有日期时间函数的默认时区。

<?php
date_default_timezone_set('America/Los_Angeles');$script_tz = date_default_timezone_get();if (strcmp($script_tz, ini_get('date.timezone'))){echo 'Script timezone differs from ini-set timezone.';
} else {echo 'Script timezone and ini-set timezone match.';
}
?>

date_default_timezone_get

date_default_timezone_get — 取得一个脚本中所有日期时间函数所使用的默认时区

Example #1 获取默认时区

<?php
date_default_timezone_set('Europe/London');if (date_default_timezone_get()) {echo 'date_default_timezone_set: ' . date_default_timezone_get() . '<br />';
}if (ini_get('date.timezone')) {echo 'date.timezone: ' . ini_get('date.timezone');
}?>

以上例程的输出类似于:

date_default_timezone_set: Europe/London
date.timezone: Europe/London

Example #2 获取一个时区的简写

<?php
date_default_timezone_set('America/Los_Angeles');
echo date_default_timezone_get() . ' => ' . date('e') . ' => ' . date('T');
?>

以上例程会输出:

America/Los_Angeles => America/Los_Angeles => PST

转载于:https://www.cnblogs.com/zhnaglei/p/6700063.html

PHP常用时间函数总结相关推荐

  1. php时间转两位数年份,PHP常用时间函数资料整理

    PHP常用时间函数资料整理 PHP是一种HTML 内嵌式的语言,是一种在服务器端执行的嵌入HTML文档的脚本语言.这篇文章主要介绍了PHP常用时间函数资料整理的相关资料,需要的朋友可以参考下. php ...

  2. MySQL常用时间函数

    本文转自:http://www.2cto.com/database/201307/230943.html MySQL常用时间函数 1.1 获得当前日期+时间(date + time)函数:now() ...

  3. linux系统时间函数,Linux时间时区详解与常用时间函数

    时间与时区 整个地球分为二十四时区,每个时区都有自己的本地时间. UTC时间 与 GMT时间 我们可以认为格林威治时间就是时间协调时间(GMT = UTC),格林威治时间和UTC时间都用秒数来计算的. ...

  4. MySQL 取得两个时间相差的分钟数 及 常用时间函数

    取得相隔秒数 SELECT UNIX_TIMESTAMP('2012-06-09 00:10:11')-UNIX_TIMESTAMP('2012-06-09 00:09:12') 取得相隔分钟数 SE ...

  5. Joda-Time 操作常用时间函数

    Joda-Tome 这个开源的东东 确实比jdk自带的时间函数比较好用,由于目前好多项目还在沿用jdk1.8 以下的所以终于找时间吧项目中用到的关于这个的调用方法整理下 我直接贴代码了 package ...

  6. Mysql 常用 时间函数

    -- 时间函数 -- NOW(): 获取mysql服务器上当前日期和时间. -- SYSDATE() . CURRENT_TIMESTAMP() select NOW() `当前日期和时间`; sel ...

  7. mysql最大时间函数_mySql常用时间函数

    1.取一个日期字段的年月: 方法一:select date_format(日期字段,'%Y-%m') as '日期' from 表 方法二:使用left()函数来截取 select left(日期字段 ...

  8. Excel常用时间函数

    1. 时间中提取日期 日期函数:DATE(YEAR(),MONTH(),DAY()) 时间 函数 日期(结果) 2018/12/13 16:41:20 =DATE(YEAR(A2),MONTH(A2) ...

  9. Delphi常用时间函数列表

    函数 功能 Now 返回当前日期及时间 Date 返回当前日期 Time 返回当前时间 DateTimeToStr 按缺省格式将日期和时间值转换为字符串:特定格式转换可用 FormatDateTime ...

最新文章

  1. ueditor与七牛云存储结合
  2. 微服务~分布式事务里的最终一致性
  3. css好用吗,比较好用的 CSS 的技巧,总有一个你需要的!
  4. 第一章:1.2.1系统建模
  5. windows下mysql安装失败的一个解决案例
  6. oracle 12c创建归档,实测创建 Oracle 12C Dataguard
  7. Oracle EBS-SQL (QA-1):检查超出检验周期的检验数据.sql
  8. php 中set是什么_php中set
  9. Linux chmod命令
  10. 为什么Controller层注入的是Service接口,而不是ServiceImpl实现类
  11. java随机抽样算法_随机抽样一致性(RANSAC)算法详解
  12. OpenPilot 0.3.2 发布,开源自动驾驶技术
  13. ABB RobotStudio6.08安装
  14. mysql 几何对象,几何(geometry)对象类型
  15. 格式化输出函数(2): FormatDateTime
  16. 正则表达式匹配第一个单个字符
  17. 二元分类(Binary Classfication)与logistic回归
  18. dz60自定义配列并用qmk编译固件
  19. 小草与大树的一分钟演讲
  20. 计算机地图制图的优势,计算机地图制图

热门文章

  1. python语言的记事本在哪_用python语言编写一个简单记事本
  2. java生成sm4算法的对称密钥_技术分享丨这是一篇简单的小科普——什么是对称加密算法?(下)...
  3. java 数组计算隐藏电话号码
  4. 图像锐化拉普拉斯算子matlab,Matlab图像锐化-Sobel,Laplacian算子 实验教程
  5. PHP利用分组查询groupby,Laravel 实现Eloquent模型分组查询并返回每个分组的数量 groupBy...
  6. oracle怎么定位效率,oracle查询效率,该怎么解决
  7. python列表使用技巧大全_Python 基础起步 (六) List的实用技巧大全
  8. pythonweb项目源码下载_最新Python WEB开发在线教育项目之谷粒教育 软件源码齐全...
  9. matlab disp函数_从零开始的matlab学习笔记——(13)符号计算中的多项式
  10. windows 2003 server右键菜单没有共享选项的解决办法