PHP Mysql日期和时间整理
欢迎进入Linux社区论坛,与200万技术人员互动交流 >>进入 工作中mysql使用的时间是一个UNIX时间戳:从1970年1月1日0点开始到当前时间的秒数,由于是int类型,很方便的适用于计算机处理,不仅仅是php和mysql的数据交互的一种格式,在各种客户端,也是数据交互
欢迎进入Linux社区论坛,与200万技术人员互动交流 >>进入
工作中mysql使用的时间是一个UNIX时间戳:从1970年1月1日0点开始到当前时间的秒数,由于是int类型,很方便的适用于计算机处理,不仅仅是php和mysql的数据交互的一种格式,在各种客户端,也是数据交互的标准(android/IOS)等,因此如果只是保存和显示日期的时候,应该使用UNIX时间戳来计算日期和做为标准的日期格式。
工作中常用的流程是:将HTML页面的时间转化为时间戳保存到mysql中,从mysql中取出时间戳格式化展示在web或手机客户端。总之mysql中保存的时间是UNIX时间戳,然后被PHP格式化为合适的时间
介绍几个常用的函数
1.date(),2.mktime(),3.getdate(),4.strftime()
1.date()
PHP中获取时间和日期
使用date()函数:将时间戳或当前时间转化成格式化的字符串,例如:
echo date('Y-i-s');//输出2014-3-25
2.mktime()
使用mktime()将时间转化成UNIX时间戳
$timestamp = mktime();
获取当前时间戳有三种方法:
mktime(),time(),date('U')
mktime做时间运算
mktime(12,0,0,$mon,$day+10,$year);十天以后的时间戳
3.getdate()函数:
$today = getdate();
print_r($today);
//输出
Array
(
[seconds] => 38
[minutes] => 38
[hours] => 22
[mday] => 25
[wday] => 2
[mon] => 3
[year] => 2014
[yday] => 83
[weekday] => Tuesday
[month] => March
[0] => 1395758318
)
使用checkdate()函数检验日期有效性
4.strftime()
格式化时间戳
mysql格式化时间
1.DATE_FORMAT()
2.UNIX_TIMESTAMP()返回格式化成UNIX时间戳的日期,例如:SELECT UNIX_TIMESTAMP(date) FROM table,这样就可以在PHP中处理了
PHP中格式化时间的函数比较少,介绍几个常用的格式化时间函数
/**
*
*将timestamp时间转化为x时x分x秒
*
*/
public static function getTimeLong($seconds) {
if (!$seconds) {
return '0秒';
}
$ret = '';
if ($seconds >= 3600) {
$hours = (int)($seconds / 3600);
$seconds = $seconds % 3600;
if ($hours) {
$ret .= ($hours . '时');
}
}
if ($seconds >= 60) {
$mi = (int)($seconds / 60);
$seconds = $seconds % 60;
if ($mi) {
$ret .= ($mi . '分');
}
}
if ($seconds) {
$ret .= ($seconds . '秒');
}
return $ret;
}
/**
[1] [2]
推荐阅读
-
PHP函数addslashes和mysql_real_escape_string的区别
-
PHP输出英文时间日期的安全方法(RFC 1123格式)
-
PHP的关于变量和日期处理的一些面试题目整理
-
php计算两个日期时间差(返回年、月、日)
-
PHP+Mysql+jQuery查询和列表框选择操作实例讲解
-
mysql时间区间查询索引(教你mysql查询大于某个日期)
-
mysql 开发进阶篇系列 43 逻辑备份与恢复(基于时间和位置的不完全恢复)
-
整理总结 python 中时间日期类数据处理与类型转换(含 pandas)
-
PHP计算一年多少个星期和每周的开始和结束日期
-
PHP获取一年有几周以及每周开始日期和结束日期