处理时间和日期数据:10个常用的PHP日期函数
时间和日期是数据处理中经常使用的数据类型。在PHP程序中,许多内置函数可以让你处理时间和日期数据,在处理数据时可以帮助您更好地管理您的数据。在本文中,我们将介绍PHP中的10个常用的时间和日期函数。
1. date()
date()函数是PHP中的内置函数之一,用于格式化时间和日期。它可以根据传入的格式参数,将时间和日期转换为各种不同的字符串格式。例如,使用以下代码可以获取当前日期和时间:
$today = date("Y-m-d H:i:s");
这将把当前日期和时间格式化为"年-月-日 时:分:秒"的字符串格式。
2. strtotime()
strtotime() 函数可以将任何时间或日期转换为时间戳格式。时间戳是表示时间的一个数字值,代表自1970年1月1日午夜(格林威治时间)以来的秒数。以下是示例代码:
$timestamp = strtotime("2019-11-20 10:10:10");
此代码将时间和日期字符串转换为时间戳。
3. time()
time()函数返回当前时间的时间戳。例如:
$current_time = time();
当前时间的时间戳将被分配给 $current_time 变量。
4. mktime()
mktime()函数可以创建一个特定日期和时间的时间戳。该函数需要传入小时、分钟、秒以及月份、日期和年份参数。例如:
$timestamp = mktime(0, 0, 0, 11, 20, 2019);
此代码将返回一个2019年11月20日午夜的时间戳。
5. strftime()
strftime()函数可以将时间戳格式化为本地时间和日期格式,可以根据本地环境,将日期和时间格式化为不同的语言和格式。例如:
setlocale(LC_TIME, "en_US");
echo strftime("%A %B %d %Y");
此代码将时间戳格式化为星期几、月份、日期和年份。
6. date_diff()
date_diff()函数计算两个日期之间的差异,并返回一个DateInterval对象。该对象包含有关日期之间的差异信息。例如:
$datetime1 = date_create('2019-11-20 10:10:10');
$datetime2 = date_create('2019-11-22 12:12:12');
$interval = date_diff($datetime1, $datetime2);
echo $interval->format('%R %a days');
此代码将输出" +2 days"表示两个日期之间相差2天。
7. date_add()
date_add()函数将给定时期添加到指定的日期对象中,并返回一个修改后的日期对象。例如:
$datetime = date_create('2019-11-20 10:10:10');
date_add($datetime, date_interval_create_from_date_string('3 days'));
echo date_format($datetime, 'Y-m-d H:i:s');
此代码将在原始日期对象中添加上3天,并返回日期变量。
8. date_sub()
date_sub()函数从给定日期对象中减去指定的时间段,并返回一个修改后的日期对象。例如:
$datetime = date_create('2019-11-26 10:10:10');
date_sub($datetime, date_interval_create_from_date_string('5 days'));
echo date_format($datetime, 'Y-m-d H:i:s');
此代码将在原始日期对象中减去5天,并返回日期变量。
9. date_create_from_format()
date_create_from_format()函数用于从给定的格式中创建一个日期对象。例如:
$dateString = '20/11/2019';
$dateObj = date_create_from_format('d/m/Y', $dateString);
echo date_format($dateObj, 'Y-m-d');
此代码从字符串中创建一个日期对象,格式为"日/月/年",并将其格式化为"年-月-日"。
10. timezone_identifiers_list()
timezone_identifiers_list()函数返回所有可用的时区标识符列表。例如:
$identifiers = timezone_identifiers_list();
foreach ($identifiers as $timezone) {
echo $timezone . '<br>';
}
此代码将返回一份包含可用时区标识符的列表,用于设置本地时区。
