我知道写PHP MySQL的程序员有时间差。 UNIX时间戳和格式日期是我们经常交流的两种时间表示形式。 UNIX时间戳便于存储和处理,但不直观。 格式日期是直观的,但可能需要相互转换,因为它不能像UNIX时间戳那样自由处理。 以下是相互转换的几种转换方法。一、在MySQL中完成
这种方法由MySQL查询语句转换,具有PHP解析器解析耗时快的优点,具有只能在数据库查询中使用的缺点和局限性。
1 .用于将1. UNIX时间戳转换为日期的函数: FROM_UNIXTIME (
一般格式: selectfrom_UNIXtime(1156219870;
2 .用于将日期转换为UNIX时间戳的函数: UNIX_TIMESTAMP (
一般格式: select UNIX _ timestamp (2006-11-041233602:00 );
示例: mysql查询的当天记录数:
$ SQL=" select * frommessagewheredate_format (from _ UNIX time (chattime ),' %Y-%m-%d ' ) ) date _ format "
当然也可以用PHP转换。 对用PHP转换进行说明。二、在PHP中完成
该方案具有可以在PHP程序中完成转换,无论是否是数据库中查询获得的数据都可以进行转换的优点,转换范围不受限制。 缺点是PHP解析器分析时间长,速度相对较慢。
1 .用于将1. UNIX时间戳转换为日期的函数: date (
一般型号: date(y-m-dh:I:s )、1156219870 );
2 .用于将日期转换为UNIX时间戳的函数: strtotime (
一般形式: strtotime (2010-03-2408336015336042 );php日期转时间戳,指定日期转换成时间戳
php日期和时间转换为时间戳、指定日期和时间转换为时间戳、php定时任务。
要在这两天内实现这种功能:
达到一定条件时,让服务器向用户发送邮件。 数量是多个。
基本想法: linux会定时扫描,如果有符合条件的用户,就会发送邮件。
但是为了防止用户的麻烦,要求只能在白天8:00-20:00发送邮件。 怎么弄到每天的这个时间段?
以下代码:
复制代码就是:
?
$y=date('y ',time );
$m=date('m ',time );
$d=date('d ',time );
$ start _ time=mktime (9,0,0,$m,$d,$y );
$ end _ time=mktime (19,0,0,$m,$d,$y );
$time=time (;
if $ time=$ start _ time $ time=$ end _ time )
{
//do something .
}
?