1.基础时间日期函数介绍:
date_default_timezone_set("Asia/Hong-Kong"); //设置时区
mktime();//根据给出的参数返回UNIX时间戳,省略参数则默认本地日期和时间
time();//获取当前的UNIX时间戳
date();//获取当前的日期和时间
//默认参数有 DATE_ATOM DATE_COOKIE DATE_W3C
getdate();//获取日期指定部分的信息 例如 seconds minutes hours year
microtime();//返回当前UNIX时间戳sec和微妙数msec
strtotime();//将任何日期和时间转换为时间戳
setlocale();//改变PHP默认的本地化环境 参数 LC_ALL
2.time(),date(),microtime()三者的区别
time()返回当前的unix时间戳
date()格式化一个本地时间/日期
microtime()返回当前unix时间戳和微秒数
区别一在无任何参数时,
(1)microtime()返回的结果是以 "msec sec" 的格式返回一个字符串,其中 sec(时间戳) 是自 Unix 纪元(0:00:00 January 1, 1970 GMT)起到现在的秒数,msec 是微秒部分。microtime(true)返回的值是sec+msec的和,保留四位小数。microtime()返回值类型是string(21),microtime(true)返回值类型是float。
(2)date()是默认时间是time()。
(3)time()是自 Unix 纪元(0:00:00 January 1, 1970 GMT)起到现在的秒数,值与micrtime()的sec值一致。
区别二
microtime()与time()应用上也有不同。time()通过date()的格式化,其值是系统当前的时间。microtime()则多用来随机数函数mt_rand()|random_init()的初始化工作的一部分,给随机数发生器播种。
echo number_format(microtime(true),'2');
3.date($format)用法比如:
echo date('Y-m-d') ,输出结果:2012-03-22
echo date('Y-m-d H:i:s'),输出结果:2012-03-2223:00:00
echo date('Y-m-d', time()),输出结果:2012-03-22 23:00:00(结果同上,只是多了一个[时间戳]
echo date('Y').'年'.date('m').'月'.date('d').'日',输出结果:2012年3月22日
/**************格式中可使用字母的含义**************/
d - 一个月中的第几天(从 01 到 31)
l('L' 的小写形式)- 星期几的完整的文本表示
w - 星期几的数字表示(0 表示 Sunday[星期日],6 表示 Saturday[星期六])
m - 月份的数字表示(从 01 到 12)
Y - 年份的四位数表示
y - 年份的两位数表示
a - 小写形式表示:am 或 pm
A - 大写形式表示:AM 或 PM
h - 12 小时制,带前导零(01 到 12)
H - 24 小时制,带前导零(00 到 23)
i - 分,带前导零(00 到 59)
s - 秒,带前导零(00 到 59)
n - 月份的整数形式(1-12)
4.strtotime($time)用法比如:
echo strtotime('2012-03-22'),输出结果:1332427715(此处结果为随便写的,仅作说明使用)
echo strtotime(date('Y-d-m')),输出结果:(结合date(),结果同上)
echo strtotime("now");
echo strtotime("next Thursday");
echo strtotime("now");//相当于将英文单词now直接等于现在的日期和时间,并把这个日期时间转化为unix时间戳。这个效果跟echo time();一样。
echo strtotime("+1 seconds");//相当于将现在的日期和时间加上了1秒,并把这个日期时间转化为unix时间戳。这个效果跟echo time()+1;一样。
echo strtotime("+1 day");//相当于将现在的日期和时间加上了1天。
echo strtotime("+1 week");//相当于将现在的日期和时间加上了1周。
echo strtotime("+1 week 3 days 7 hours 5 seconds");//相当于将现在的日期和时间加上了1周3天7小时5秒。