<?php
$year = 2004
$month = 3
$firstDay = 1 //取得2004年3月最后一天的日期数
$lastDay = cal_days_in_month( CAL_GREGORIAN, $month, $year ); //2004年3月1日的起始时间戳
$startTimeStamp = mktime( 0, 0, 0, $month, $firstDay, $year );
//2004年3月最后一天的结束时间戳
$endTimeStamp = mktime( 23, 59, 59, $month, $lastDay, $year ); //sql语句
$sql = "select * from `tableName` where `timeStamp` in ( $startTimeStamp, $endTimeStamp )";
?>
$year = 2004
$month = 3
$firstDay = 1 //取得2004年3月最后一天的日期数
$lastDay = cal_days_in_month( CAL_GREGORIAN, $month, $year ); //2004年3月1日的起始时间戳
$startTimeStamp = mktime( 0, 0, 0, $month, $firstDay, $year );
//2004年3月最后一天的结束时间戳
$endTimeStamp = mktime( 23, 59, 59, $month, $lastDay, $year ); //sql语句
$sql = "select * from `tableName` where `timeStamp` in ( $startTimeStamp, $endTimeStamp )";
?>
* 得到两个时间之间的条件数值
* $time1 时间1
* $time2 时间2
*/
function check_2time($time1,$time2)
{
if(strtotime($time1)=== -1)
$time1=strtotime(date(Ymd));
else
$time1=strtotime($time1);
if(strtotime($time2)=== -1)
$time2=strtotime(date(Ymd))+24*60*60;
else
$time2=strtotime($time2)+24*60*60;
$out=" time>='$time1' and time<='$time2'";
return $out;
}---------------------以前写的一个小函数,取两个英文日期之间的值,如输入的为非英文格式
日期,自动转为今天的日期.
楼主如用的时候,将
$out=" time>='$time1' and time<='$time2'";
改成
$out=" addtime>='$time1' and addtime<='$time2'";
就可以了.
----------------------------------------------------------------------------------
我的意思是:有一个表table1,表中有一个字段addtime,字段中存放的是时间标签,型如1092808759;这个值通过date("Y-m-j",'1092808759');转换后可得值2004-08-18!现在希望将table1中时间标签转换后前面几位是2004-03 的记录找出来!查找了相关资料,部分资料指出用以下语句可以实现:
select FROM_UNIXTIME(875996580); 但我的系统却无法正常执行上面的语句!一句话:就是如何将记录中时间标签转为显式时间格式(2004-01-01)?
----------------------------------------------------------------------------------
还请高手不吝指教!!!
既然你的数据字段里面使用time_stamp方式存储的时间(这个很好,hoho)那么你完全可以用在命令提示行方式下用select UNIX_TIMESTAMP("2004-03-01 00:00:00");得到第一天的时间戳 然后同样方法得到最后一天的时间戳 这样select 在他们之间的数据集就可以了