在开发 Web 应用中,经常会涉及到日期数据类型的转换。PHP 提供了丰富的日期和时间函数,可以方便地进行日期的格式化、比较、计算等操作。本文将介绍 PHP 中的日期数据类型及其转换方法。
PHP 日期数据类型
在 PHP 中,日期可以用字符串或整数表示。常用的日期格式包括:
Y-m-d H:i:s:年-月-日 时:分:秒,如 2022-01-01 00:00:00Y/m/d H:i:s:年/月/日 时:分:秒,如 2022/01/01 00:00:00Y年m月d日 H时i分s秒:年月日 时分秒,如 2022年01月01日 00时00分00秒Unix 时间戳:自 1970 年 1 月 1 日以来经过的秒数,如 1640995200字符串转日期类型
通过 PHP 内置函数 strtotime() 可以将表示日期和时间的字符串转换成 Unix 时间戳。该函数接受一个表示日期和时间的字符串作为参数,返回该日期所对应的 Unix 时间戳。
1
2
3
$time_str = 2022-01-01;
$time_stamp = strtotime($time_str);
echo $time_stamp; // 输出:1640995200
上述代码将日期字符串 2022-01-01 转换成 Unix 时间戳,并输出该时间戳。
注意:当使用 strtotime() 函数将日期字符串转换成时间戳时,日期格式必须为 “Month Day Year” 或 “Day Month Year” 的英文日期格式或 “Y-m-d” 的日期格式。
Unix 时间戳转日期格式
通过 PHP 内置函数 date() 可以将 Unix 时间戳格式化为指定的日期格式。该函数接受两个参数:第一个参数是表示日期格式的字符串,第二个参数是 Unix 时间戳。
1
2
3
$time_stamp = 1640995200;
$date_str = date(Y-m-d H:i:s, $time_stamp);
echo $date_str; // 输出:2022-01-01 00:00:00
上述代码将 Unix 时间戳 1640995200 格式化为 Y-m-d H:i:s 格式的日期字符串,并输出该字符串。
字符串直接比较
在 PHP 中,可直接使用字符串比较运算符(>、<、==、!= 等)比较日期字符串的大小。如果将日期字符串转换为 Unix 时间戳,也可以直接使用数字比较运算符(>、<、=、!= 等)进行比较。
1
2
3
4
5
6
7
$date_str1 = 2022-01-01;
$date_str2 = 2022-01-02;
if ($date_str1 < $date_str2) {
echo 日期 . $date_str1 . 在 . $date_str2 . 之前;
} else {
echo 日期 . $date_str1 . 在 . $date_str2 . 之后;
}
上述代码比较了两个日期字符串的大小,并输出最终的比较结果。
日期转时间戳
可以使用 PHP 内置函数 mktime() 将日期转换成 Unix 时间戳。该函数接受多个参数,依次为时、分、秒、月、日、年。如果不指定参数,则函数会返回当前时间的 Unix 时间戳。
1
2
3
4
5
6
7
8
$year = 2022;
$month = 1;
$day = 1;
$hour = 0;
$minute = 0;
$second = 0;
$time_stamp = mktime($hour, $minute, $second, $month, $day, $year);
echo $time_stamp; // 输出:1640995200
上述代码将日期 2022-01-01 转换成 Unix 时间戳,并输出该时间戳。
时间戳转日期
和上面介绍的 date() 函数一样,PHP 内置函数 strftime() 也可以将 Unix 时间戳格式化为指定的日期格式。该函数接受两个参数:第一个参数为表示日期格式的字符串(支持格式化字符,如 %Y、%m、%d、%H、%M、%S 等),第二个参数是 Unix 时间戳。
1
2
3
$time_stamp = 1640995200;
$date_str = strftime(%Y年%m月%d日 %H时%M分%S秒, $time_stamp);
echo $date_str; // 输出:2022年01月01日 00时00分00秒
上述代码将 Unix 时间戳 1640995200 格式化为指定的日期格式,并输出该格式化后的字符串。
结论
在 PHP 中,涉及日期类型的转换操作,开发者可以利用内置函数 strtotime()、date()、mktime()、strftime() 等函数方便地进行操作。在实际开发中,需要根据具体的需求选择合适的函数,灵活运用。
以上就是php 日期数据类型转换的详细内容,更多请关注php中文网其它相关文章!
2. 分享目的仅供大家学习和交流,请不要用于商业用途!
3. 如果你也有好源码或者教程,可以到用户中心发布投稿,分享有佣金分成!
4. 本站提供的源码、模板、插件等等其他资源,都不包含技术服务 请大家谅解!
5. 如有链接无法下载、失效或广告,请联系站长,可领回失去的金币,并额外有奖!
6. 如遇到加密压缩包,默认解压密码为"www.77ym.top",如遇到无法解压的请联系管理员!
7. 本站部分文章、资源来自互联网,版权归原作者及网站所有,如果侵犯了您的权利,请及时联系我站删除。免责声明
暂无评论内容