PHP5薄荷教程[16]时间和日期函数

  首先让我们认识两个概念,Unix纪元(Unix Epoch)和时间戳(timestamp)。前者指的是格林威治时间1970年1月1日零点(January 1 1970 00:00:00 GMT),后者则是从Unix纪元开始计数的秒数,从而表示具体时间,因此也可以是负数字。如时间戳若等于-86400,则其表示的时间是格林威治时间1970年1月2日零点(December 31 1969 00:00:00 GMT),以此类推。
1、int time(void)
  返回当前时刻的时间戳。
2、int mktime([int hour [,int minute [,int second
       [,int month [,int day [,int year]]]]]])
  返回指定时刻的时间戳。如果没有指定,则返回当前时刻的时间戳。
3、int strtotime(string time)
  将time所表示的时间转换为时间戳并返回,如果转化失败则返回false。如"Aug 24 2006 19:40:23"。
4、array getdate([int timestamp])
  根据timestamp或当前时刻的时间戳生成一个数组,包含以下元素:
"seconds" 秒(0-59)
"minutes" 分(0-59)
"hours" 时(0-23)
"mday" 日(1-31)
"wday" 星期(0(星期日)-6(星期六))
"mon" 月(1-12)
"year" 年(四位)
"yday" 这一年的第几天(0-365)
"weekday" 星期全称(Monday-Sunday)
"month" 月份全称(January-December)
0 时间戳,相当于time()返回的值
5、string date(string format [,int timestamp])
  根据格式字符串format输出timestamp所表示的时间或当前时刻。以下是用于format的字符:
---年---
Y 年份(四位)
y 年份(两位)
L 是否为闰年(1、0)
---月---
m 月(01-12)
n 月(1-12)
F 月份全称(January-December)
n 月份简称(Jan-Dec)
t 该月所含天数
---日---
d 日(01-31)
j 日(1-31)
z 这一年的第几天(0-365)
S 英语的日期后缀st、nd、rd、th,与j合用,即"jS"
--星期--
l 星期全称(Monday-Sunday)
D 星期简称(Mon-Sun)
w 星期(0(星期日)-6(星期六))
--时间--
H 24时制的小时(00-23)
h 12时制的小时(01-12)
G 24时制的小时(1-23)
g 12时制的小时(1-12)
A 上下午标识(AM-PM)
a 上下午标识(am-pm)
i 分(00-59)
s 秒(00-59)
  以上符号之外的符号都会被直接输出,如果要输出以上符号则需要转义(/)。
6、int idate(string format [,int timestamp])
  根据格式字符format输出一个由timestamp所表示的时间或当前时刻的一个值。以下是用于format的字符:Y、y、m、t、d、w、H、h、i、s,且要注意一次只能使用一个字符。另外,因为idate()返回的是整数,所以前异零会被忽略。
7、mixed microtime([bool get_as_float])
  返回一个形如"0.57224700 1156425759"的字符串,前半部分是微妙,后半部分是时间戳。如果get_as_gloat被设置为true,则返回形如1156425759.57的浮点数。
8、mixed gettimeofday([bool return_float])
  返回一个数组合,如果return_float被设置为true,则等价于microtime(true)。以下是数组所含元素:
"sec" 时间戳,如1156425759
"usec" 微秒,如572247
9、bool checkdate(int month ,int day ,int year)
  判断一个日期是否存在。

  如果要以当前时刻生成一个精确到毫秒的ID的话:
$ID=date("YmdHis").substr(microtime(),2,3);

〓关于时区的问题〓
  从PHP5.1开始我们必须为程序设置时区。如我们现在在东八区,如果不设置时区的话,以上所有时间函数所得到的时间都会以格林威治时间为准,即比我们这里晚8个小时。设置时区有两种方法:
1、在php.ini文件中找到date.timezone行,将前面的分号去掉,并赋值"Asia/Shanghai"或"PRC"。(老外好象把北京忘了)
2、如果不能修改php.ini文件,则在调用时间函数前,用date_default_timezone_set("Asia/Shanghai")来设置时区。相应地,可以用date_default_timezone_get()来获取当前时区。
  这样,时区就调整好了,时间函数也能准确运作了。其他可用与时区设置的参数可自行查阅PHP文档。 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值