⑴ php获取指定任意一天的时间,格式为yyyy-mm-dd hh:mm:ss
echo date('Y-m-d H:i:s',time());
这样获取的是当前时间,想获取任意时间,将time()替换成任意时间的时间戳,望采纳,谢谢
⑵ php中删除数据库中在当前时间一天以前的数据怎么实现啊
两种方案:
一种是正统方案,把SQL语句提交给运维人员,他们会处理,一般是用crond解决。
另外,有一种很邪行的办法,不推荐,但无可奈何的时候可以用一下。
如果有某个文件,比如comm.php是被所有文件引用的,在它里面加一段:
if(mt_rand(1,1000)==1){
//runyoursql
}
其目的就是按照千分之一的概率去执行删除数据的动作。
一方面确实可以删除数据,另一方面也避免了每次执行PHP页面都占用数据库资源。
可以适当监控一下,调整成合适的执行概率。
或者,把这一小段代码放到index.php里面也可以。
⑶ php 计算时间差 求某个时间是几分钟之前、几小时之前、几天之前
php计算时间的应用主要有如下几个:
echo "<br>***************用PHP打印出前一天的时间***************<br>";
echo date("Y-m-d ",strtotime(" -1 day"));//昨天
echo '<br>';
echo date("Y-m-d ",strtotime(" +1 day")); //明天
echo "<br>********************输出当前时间*********************<br>";
echo date("Y年m月d日 l H:i:s A"); //2011年08月29日 Monday 04:52:25 AM
echo '<br>';
echo date("y-n-j D h:i:s a"); //11-8-29 Mon 04:52:25 am
echo '<br>';
echo date("Y年n月j日 l G:i:s a",strtotime("now"));//2011年8月29日 Monday 7:56:05 am
echo "<br>*****************两个日期之间的天数******************<br>";
$str1=strtotime("2007-02-08");
$str2=strtotime("now");
print_r (floor(($str2-$str1)/(3600*24)));
echo "<br>**********************倒计时*************************<br>";
$time1=strtotime("2012-7-18 17:30:00");
$time2=strtotime("now");
$sec=$time1-$time2;
$year=floor($sec/3600/24/365);//年
$temp=$sec-$year*365*24*3600;
$month=floor($temp/3600/24/30);//月
$temp=$temp-$month*30*24*3600;
$day=floor($temp/3600/24);//日
$temp=$temp-$day*3600*24;
$hour=floor($temp/3600);//小时
$temp=$temp-$hour*3600;
$minute=floor($temp/60);//分
$second=$temp-$minute*60;//秒
echo "距离培训毕业还有".$year."年".$month."月".$day."天".$hour."小时".$minute."分".$second."秒";
⑷ php得到当前时间的前多少天时间
使用PHP的strtotime函数可以获取指定时间或日期的时间戳,然后再使用date函数格式化时间戳就可以了。
举例如下:
date_default_timezone_set('PRC');//设置时区
//打印出3天前的时间
echo(date('Y-m-dH:i:s',strtotime("-3day")));
//打印出2个星期前的时间
echo(date('Y-m-dH:i:s',strtotime("-2week")));
//打印出5个小时后的时间
echo(date('Y-m-dH:i:s',strtotime("+5hours")));
//打印出1个星期后的时间
echo(date('Y-m-dH:i:s',strtotime("+1week")));
输出结果:
⑸ 1. 用PHP打印出前一天的时间格式是2006
echo date('Y',strtotime('-1 day',time()));
补充:date('Y-m-d H:i:s',strtotime('-1 day',time())); //完整的时间格式
echo date('Y-m',strtotime('-1 month',time())); //打印出前一个月
⑹ php有没相关函数可以获取给定日期的上个月的第一天及最后一天
没有,可以取当前月的第一天00:00的时间戳,然后减24小时,再date即是上个月的最后一天。
如:
$prev_month_last_day = date("Y/m/d", strtotime(date("Y-m-1")) - 86400);
list($year, $month, $day) = explode("/", $prev_month_last_day);
$prev_month_first_day = $year . '/' . $month . '/1';
printf("first day of prev month is : %s\nlast day of prev month is : %s\n", $prev_month_first_day, $prev_month_last_day);
⑺ 如果在PHP中判断某一天是在某一日期的前或后
//你还需要知道的另一个变量是年份,不过依你的意思应该是当年。
$timestamp = time();
$dateYear = date('Y', $timestamp);//当前年,依当前需要可以不需要比较,但有时也许会用到,比如你的记录不是当年要处理的
$dateMonth = date('n', $timestamp);//当前月份数字,没有前导零
$dateDay = date('j', $timestamp);//月份中的第几天,没有前导零
//剩下的就是比较了,比如你要比较的日期是 2007-03-01
$eventDate = '2007-03-01';
$eventDateArr = explode('-', $eventDate);
$eventYear = intval($eventDateArr[0]);
$eventMonth = intval($eventDateArr[1]);
$eventDay = intval($eventDateArr[2]);
//上面是年月日的拆分,根据实际情况可以调整,如果你直接可以得到就不需要这样取了。
//之后剩下的就是比较了,先比较年
if($dateYear == $eventYear) {
//同年
if($dateMonth == $eventMonth) {
//同月
if($dateDay == $eventDay) {
//同一天,就是当前日期就是事件触发的日期
} elseif($dateDay > $eventDay) {
//事件已经过期了
} else {
//事件触发日期还没到
}
} else {
//之前或之后,再需要详细判断可以在这里比较哪个月份大
}
} else {
//之前或之后,再需要详细判断可以在这里比较哪个年份大
}
//其实这种比较是最简单的逻辑判断,如果你在记录时间触发日期时记录的是 unix 时间戳,这里可以直接进行时间戳比较不过需要处理一下,因为时间戳是精确到秒的
//或者把你记录的日期及其后一天直接转化成 unix 时间戳,时分秒都用 0 ,和当前时间戳比较,细节判断就自己去分析吧,可用函数去查查手册里面 strtotime() ,时间相关函数参数很多,不过用过几次就熟悉了。
⑻ 用PHP怎么取得7天前的日期
$date = date('Y-m-d', strtotime('-7 days')); //保留年-月-日
<?php echo echo date(”Y-m-d H:i:s”,strtotime(”-7 day”)) ;?> //保留年-月-日 时:分:秒
strtotime('-7 days') 获得的是时间戳
strtotime('now')); //获取当前的时间戳
time() //获取的时间戳
(8)php指定日期的前一天扩展阅读:
一、使用函式 date() 实现
在编辑器中输入<?php echo $showtime=date("Y-m-d H:i:s");?>,点击回车就可以得知当前的时间。其中Y是代表4位的年份,H是24小时制,i 是分钟,如: "00" 至 "59" 。s -是秒,如: "00" 至 "59" 。
d 是几日,二位数字,若不足二位则前面补零。 如: "01" 至 "31" 。m代表月份,二位数字,若不足二位则在前面补零,如: "01" 至 "12" 。
二、使用time函数
在编辑器中输入echo date("y-m-d",$time)点击回车就可以得知当前的时间,其中Y是代表4位的年份,m代表月份,二位数字,若不足二位则在前面补零,如: "01" 至 "12" 。d 是几日,二位数字,若不足二位则前面补零。 如: "01" 至 "31" 。
三、使用strftime函数
在编辑器中输入echo strftime ("%hh%m %a %d %b" ,time());点击回车就可以得知当前的时间。