php 与时间有关的函数,PHP中常用的和时间相关的函数

时间函数在日常的开发中是经常用到的,PHP中有很多已经封装好的原生函数,因为开发人员的不熟悉而在开发过程中经常性重复的造轮子,这是一种很不好的行为习惯。

在掌握PHP时间相关函数之前,我们先来做一下 运行时配置

PHP时间日期函数运行时配置 (php.ini)

date.timezone

默认时区(所有的 Date/Time 函数使用该选项)

常用值: Asia/Shanghai

日期检车相关的PHP函数

checkdate

bool checkdate ( int $month , int $day , int $year )

校验是否是一个合法的日期

日期的新增和修改相关的函数

date_add

DateTime date_add ( DateTime $object , DateInterval $interval )

添加日、月、年、时、分和秒到日期

date_create

DateTime date_create ([ string $time = "now" [, DateTimeZone $timezone = NULL ]] )

返回新的 DateTime 对象

$today=date_create(date('Y-m-d'));

date_add($today,date_interval_create_from_date_string("30 days"));

echo date_format($today,"Y-m-d");

echo date('Y-m-d', strtotime('+30 days'));

日期时间的转换函数

date_create_from_format

返回一个根据指定格式进行格式化的新的 DateTime 对象

DateTime date_create_from_format ( string $format , string $time [, DateTimeZone $timezone ] )

用途: 根据输入的值进行格式化,再通过 date_format 函数进行格式转换,而不是转换成 strtotime 后再进行 date 转换

相关配置注意事项

date() 包下列错误的处理办法

PHP Warning: date() [function.date]: It is not safe to rely on the system's timezone settings. You are required to use the date.timezone setting or the date_default_timezone_set() function. In case you used any of those methods and you are still getting this warning, you most likely misspelled the timezone identifier. We selected 'UTC' for '8.0/no DST' instead in

上面的解决方法有:

在页头使用date_default_timezone_set()设置 date_default_timezone_set('PRC'); //东八时区 echo date('Y-m-d H:i:s');

在页头使用 ini_set('date.timezone','Asia/Shanghai');

修改 php.ini。打开php.ini查找date.timezone 去掉前面的分号修改成为:date.timezone =PRC或Asia/Shanghai

date_date_set

date_date_set(object,year,month,day)

设置新日期

object 必需。规定由 date_create() 返回的 DateTime 对象。

year 必需。规定日期中的年。

month 必需。规定日期中的月。

day 必需。规定日期中的日。

date_default_timezone_get

返回脚本中所有日期/时间函数使用的默认时区

date_default_timezone_set

设置由所有的 Date/Time 函数使用的默认时区

date_diff

返回两个 DateTime 对象间的差值。

$date1=date_create("1984-01-28");

$date2=date_create("1980-10-15");

$diff=date_diff($date1,$date2);

date_format

根据指定格式进行格式化的日期

date_get_last_errors

返回日期字符串中的警告/错误。

date_interval_create_from_date_string

从字符串的相关部分建立 DateInterval

date_interval_format

格式化时间间隔

date_isodate_set

设置 ISO 日期

date_modify

修改时间戳

date_offset_get

返回时区偏移

date_parse_from_format

根据指定的格式返回带有关于指定日期的详细信息的关联数组

date_parse

返回带有关于指定日期的详细信息的关联数组

date_sub

从指定日期减去日、月、年、时、分和秒

date_sun_info

返回包含有关指定日期与地点的日出/日落和黄昏开始/黄昏结束的信息的数组

date_sunrise

返回指定日期与位置的日出时间

date_sunset

返回指定日期与位置的日落时间

date_time_set

设置时间

date_timestamp_get

返回 Unix 时间戳

date_timestamp_set

设置基于 Unix 时间戳的日期和时间

date_timezone_get

返回给定 DateTime 对象的时区

date_timezone_set

设置 DateTime 对象的时区

date

格式化本地日期和时间

getdate

返回某个时间戳或者当前本地的日期/时间的日期/时间信息

gettimeofday

返回当前时间

gmdate

格式化 GMT/UTC 日期和时间

gmstrftime

根据区域设置对 GMT/UTC 日期和时间进行格式化

gmmktime

返回 GMT 日期的 UNIX 时间戳

idate

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

localtime

返回本地时间

microtime

返回当前时间的微秒数

mktime

返回日期的 Unix 时间戳

strftime

根据区域设置对本地时间/日期进行格式化

strptime

解析由 strftime() 生成的时间/日期

time

返回当前时间的 Unix 时间戳

timezone_abbreviations_list

返回包含夏令时、偏移量和时区名称的关联数组

timezone_identifiers_list

返回带有所有时区标识符的索引数组

imezone_location_get

返回指定时区的位置信息

timezone_name_from_abbr

根据时区缩略语返回时区名称

timezone_name_get

返回时区的名称

timezone_offset_get

返回相对于 GMT 的时区偏移

timezone_open

创建新的 DateTimeZone 对象

timezone_version_get

返回时区数据库的版本

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值