(转载)http://www.jb51.net/article/21495.htm

strtotime函数是一个很好的函数,灵活的运用它,会给你的工作带来不少方便.但PHP的手册中却对此函数的参数没作太多介绍,对些函数的其他介绍也非常少。

先看手册介绍:

strtotime — 将任何英文文本的日期时间描述解析为 Unix 时间戳 
格式:int strtotime ( string $time [, int $now ] ) 
  本函数预期接受一个包含美国英语日期格式的字符串并尝试将其解析为 Unix 时间戳(自 January 1 1970 00:00:00 GMT 起的秒数),其值相对于 now 参数给出的时间,如果没有提供此参数则用系统当前时间。 
  本函数将使用 TZ 环境变量(如果有的话)来计算时间戳。自 PHP 5.1.0 起有更容易的方法来定义时区用于所有的日期/时间函数。此过程在 date_default_timezone_get() 函数页面中有说明。 
Note : 如果给定的年份是两位数字的格式,则其值 0-69 表示 2000-2069,70-100 表示 1970-2000。

参数 
time 
被解析的字符串,格式根据 GNU » 日期输入格式 的语法。在 PHP 5.0 之前,time 中不允许有毫秒数,自 PHP 5.0 起可以有但是会被忽略掉。 
now 
用来计算返回值的时间戳。 该参数默认值是当前时间time(),也可以设置为其他时间的时间戳(我一直忽略的一个功能啊,惭愧) 
返回值: 成功则返回间戳,否则返回 FALSE 。在 PHP 5.1.0 之前本函数在失败时返回 -1,后面版本返回false.

  strtotime的第一个参数可以是我们常见的英文时间格式,比如“2008-8-20”或“10 September 2000 ”等等。也可以是以参数now为基准的时间描述,比如“+1 day”等等。

下面是后一种方式的可使用参数清单,其中“当前时间”是指strtotime第二个参数now的值,默认为当前时间 
1.月,日英文名及其常用缩写清单: 
january,february,march,april,may,june,july,august,september,sept,october,november,december, 
sunday,monday,tuesday,tues,wednesday,wednes,thursday,thur,thurs,friday,saturday

2.时间参数和祥细描述: 
am : the time is before noon 上午 
pm : the time is noon or later 下午 
year: one year; for example, “next year” 年,比如“next year”代表明年 
month : one month; for example, “last month” 月,比如“last month”代表上一月 
fortnight : two weeks; for example, “a fortnight ago” 两周,比如“a fortnight ago”代表两周前 
week : one week 周 
day: a day 天 
hour: an hour 小时 
minute : a minute 分钟 
min : same as minute 同“minute” 
second : a second 秒 
sec : same as second 同“second”

3.相关和顺序说明: 
+n/-n :以当前时间算,加个减指定的时间,比如”+1 hour”是指当前时间加一小时 
ago :time relative to now; such as “24 hours ago”  以当前时间往前算,比如”24 hours ago”代表“24小时前” 
tomorrow : 24 hours later than the current date and time 以当前时间(包括日期和时间)为标准,明天同一时间 
yesterday : 24 hours earlier than the current date and time 以当前时间(包括日期和时间)为标准,昨天同一时间 
today : the current date and time 当前时间(包括日期和时间) 
now : the current date and time 当前时间(包括日期和时间) 
last : modifier meaning “the preceding”; for example, “last tuesday” 代表“上一个”,比如“last tuesday”代表“上周二同一时间” 
this : the given time during the current day or the next occurrence of the given time; for example, “this 7am” gives the timestamp for 07:00 on the current day, while “this week” gives the timestamp for one week from the current time 当天的指定时间或下面一个时间段的时间戳,比如“this 7am”给出当天7:00的时间戳,而“this week”给出的是从当前时间开始的一整周的时间戳,也就是当前时间(经本人测试:strtotime('this week')=strtotime('now')); 
next : modifier meaning the current time value of the subject plus one; for example, “next hour” 当前时间加上指定的时间,比如“next hour”是指当前时间加上一小时,即加3600

//先到这,下面的还没时间翻译 
first : ordinal modifier, esp. for months; for example, “May first” (actually, it's just the same as next) 
third : see first (note that there is no “second” for ordinality, since that would conflict with the second time value) 
fourth : see first 
fifth : see first 
sixth : see first 
seventh : see first 
eighth : see first 
ninth : see first 
tenth : see first 
eleventh : see first 
twelfth : see first

4.时区描述: 
gmt : Greenwich Mean Time 
ut : Coordinated Universal Time 
utc : same as ut 
wet : Western European Time 
bst : British Summer Time 
wat : West Africa Time 
at : Azores Time 
ast : Atlantic Standard Time 
adt : Atlantic Daylight Time 
est : Eastern Standard Time 
edt : Eastern Daylight Time 
cst : Central Standard Time 
cdt : Central Daylight Time 
mst : Mountain Standard Time 
mdt : Mountain Daylight Time 
pst : Pacific Standard Time 
pdt : Pacific Daylight Time 
yst : Yukon Standard Time 
ydt : Yukon Daylight Time 
hst : Hawaii Standard Time 
hdt : Hawaii Daylight Time 
cat : Central Alaska Time 
akst : Alaska Standard Time 
akdt : Alaska Daylight Time 
ahst : Alaska-Hawaii Standard Time 
nt : Nome Time 
idlw : International Date Line West 
cet : Central European Time 
met : Middle European Time 
mewt : Middle European Winter Time 
mest : Middle European Summer Time 
mesz : Middle European Summer Time 
swt : Swedish Winter Time 
sst : Swedish Summer Time 
fwt : French Winter Time 
fst : French Summer Time 
eet : Eastern Europe Time, USSR Zone 1 
bt : Baghdad Time, USSR Zone 2 
zp4 : USSR Zone 3 
zp5 : USSR Zone 4 
zp6 : USSR Zone 5 
wast : West Australian Standard Time 
wadt : West Australian Daylight Time 
cct : China Coast Time, USSR Zone 7 
jst : Japan Standard Time, USSR Zone 8 
east : Eastern Australian Standard Time 
eadt : Eastern Australian Daylight Time 
gst : Guam Standard Time, USSR Zone 9 
nzt : New Zealand Time 
nzst : New Zealand Standard Time 
nzdt : New Zealand Daylight Time 
idle : International Date Line East

在PHP中有个叫做strtotime的函数。strtotime 实现功能:获取某个日期的时间戳,或获取某个时间的时间戳。strtotime 将任何英文文本的日期时间描述解析为Unix时间戳[将系统时间转化成unix时间戳]

一,获取指定日期的unix时间戳

strtotime("2009-1-22") 示例如下: 
1.echo strtotime("2009-1-22") 
结果:1232553600 
说明:返回2009年1月22日0点0分0秒时间戳

二,获取英文文本日期时间

示例如下: 
便于比较,使用date将当时间戳与指定时间戳转换成系统时间 
(1)打印明天此时的时间戳strtotime("+1 day") 
当前时间: 
1.echo date("Y-m-d H:i:s",time()) 
结果:2009-01-22 09:40:25 
指定时间: 
1.echo date("Y-m-d H:i:s",strtotime("+1 day")) 
结果:2009-01-23 09:40:25 
(2)打印昨天此时的时间戳strtotime("-1 day") 
当前时间: 
1.echo date("Y-m-d H:i:s",time()) 
结果:2009-01-22 09:40:25 
指定时间: 
1.echo date("Y-m-d H:i:s",strtotime("-1 day")) 
结果:2009-01-21 09:40:25 
(3)打印下个星期此时的时间戳strtotime("+1 week") 
当前时间: 
1.echo date("Y-m-d H:i:s",time()) 
结果:2009-01-22 09:40:25 
指定时间: 
1.echo date("Y-m-d H:i:s",strtotime("+1 week")) 
结果:2009-01-29 09:40:25 
(4)打印上个星期此时的时间戳strtotime("-1 week") 
当前时间: 
1.echo date("Y-m-d H:i:s",time()) 
结果:2009-01-22 09:40:25 
指定时间: 
1.echo date("Y-m-d H:i:s",strtotime("-1 week")) 
结果:2009-01-15 09:40:25 
(5)打印指定下星期几的时间戳strtotime("next Thursday") 
当前时间: 
1.echo date("Y-m-d H:i:s",time()) 
结果:2009-01-22 09:40:25 
指定时间: 
1.echo date("Y-m-d H:i:s",strtotime("next Thursday")) 
结果:2009-01-29 00:00:00 
(6)打印指定上星期几的时间戳strtotime("last Thursday") 
当前时间: 
1.echo date("Y-m-d H:i:s",time()) 
结果:2009-01-22 09:40:25 
指定时间: 
1.echo date("Y-m-d H:i:s",strtotime("last Thursday")) 
结果:2009-01-15 00:00:00 
以上示例可知,strtotime能将任何英文文本的日期时间描述解析为Unix时间戳,我们结合mktime()或date()格式化日期时间获取指定的时间戳,实现所需要的日期时间。 
希望通过本文的介绍后,你已经能掌握strtotime函数用法。

(转载)PHP strtotime函数详解的更多相关文章

  1. (转载)PHP_Memcache函数详解

    (转载)http://www.cnblogs.com/xiaochaohuashengmi/archive/2011/04/19/2021605.html memcache函数所有的方法列表如下: M ...

  2. [转载]jQuery.extend 函数详解

    JQuery的extend扩展方法:      Jquery的扩展方法extend是我们在写插件的过程中常用的方法,该方法有一些重载原型,在此,我们一起去了解了解.      一.Jquery的扩展方 ...

  3. malloc 与 free函数详解<转载>

    malloc和free函数详解   本文介绍malloc和free函数的内容. 在C中,对内存的管理是相当重要.下面开始介绍这两个函数: 一.malloc()和free()的基本概念以及基本用法: 1 ...

  4. 【转载】jQuery.extend 函数详解

    转载自:http://www.cnblogs.com/RascallySnake/archive/2010/05/07/1729563.html jQuery.extend 函数详解 JQuery的e ...

  5. kzalloc 函数详解(转载)

    用kzalloc申请内存的时候, 效果等同于先是用 kmalloc() 申请空间 , 然后用 memset() 来初始化 ,所有申请的元素都被初始化为 0. view plain /** * kzal ...

  6. 【转载】3D/2D中的D3DXMatrixPerspectiveFovLH和D3DXMatrixOrthoLH投影函数详解

    原文:3D/2D中的D3DXMatrixPerspectiveFovLH和D3DXMatrixOrthoLH投影函数详解 3D中z值会影响屏幕坐标系到世界坐标系之间的转换,2D中Z值不会产生影响(而只 ...

  7. 【转载】C语言itoa()函数和atoi()函数详解(整数转字符C实现)

    本文转自: C语言itoa()函数和atoi()函数详解(整数转字符C实现) 介绍 C语言提供了几个标准库函数,可以将任意类型(整型.长整型.浮点型等)的数字转换为字符串. int/float to ...

  8. Linux中fork()函数详解(转载)

    linux中fork()函数详解 一.fork入门知识 一个进程,包括代码.数据和分配给进程的资源.fork()函数通过系统调用创建一个与原来进程几乎完全相同的进程,也就是两个进程可以做完全相同的事, ...

  9. 转载_fread函数详解

    fread函数详解 函数原型: size_t   fread(   void   *buffer,   size_t   size,   size_t   count,   FILE   *strea ...

随机推荐

  1. 10.29 afternoon

    [问题描述] 祖玛是一款曾经风靡全球的游戏,其玩法是:在一条轨道上初始排列着若干个彩色珠子,其中任意三个相邻的珠子不会完全同色.此后,你可以发射珠子到轨道上并加入原有序列中.一旦有三个或更多同色的珠子 ...

  2. JAVA导出Excel封装

    1.数据bean public class ExcelBean { private String name; private String sheetName; private ExcelTitle[ ...

  3. sqlserver 时间 格式化

    0   或   100   (*)     默认值   mon   dd   yyyy   hh:miAM(或   PM)       1   101   美国   mm/dd/yyyy       ...

  4. hdoj 1892(二维树状数组)

    Problem H Time Limit : 5000/3000ms (Java/Other)   Memory Limit : 65535/32768K (Java/Other) Total Sub ...

  5. 启动scala的方法

    1.从官网 http://www.scala-lang.org/download/ 下载scala二进制通用版本以后,在终端命令行添加下载解压包的bin目录到环境变量: export PATH=/Us ...

  6. POJ 1830.开关问题(高斯消元)

    题目链接 Solutin: 将每个开关使用的情况当成未知数,如果开关i能影响到开关j,那么系数矩阵A[j][i]的系数为1. 每个开关增广矩阵的值是开关k的初状态异或开关k的目标状态,这个应该很容易想 ...

  7. javascript——函数内部属性

    <script type="text/javascript"> //在函数内部有两个特殊的属性:arguments 和 this.arguments是一个类数组对象,包 ...

  8. Ubuntu Apache 伪静态配置 url重写 步骤

    1.加载rewrite模块sudo ln -s /etc/apache2/mods-available/rewrite.load /etc/apache2/mods-enabled/rewrite.l ...

  9. Oracle数据库之PL/SQL包

    Oracle数据库之PL/SQL包 1. 简介 包(PACKAGE)是一种数据对象,它是一组相关过程.函数.变量.常量和游标等PL/SQL程序设计元素的组合,作为一个完整的单元存储在数据库中,用名称来 ...

  10. [jQuery编程挑战]007 切换数据表格的行列

    <!DOCTYPE html> <html lang="zh"> <head> <meta charset="utf-8&quo ...