php 时间转换成秒数 或者做倒計時
<?php
//自定义函数:time2string($second) 输入秒数换算成多少天/多少小时/多少分/多少秒的字符串
function time2string($second){
$day = floor($second/(3600*24));
$second = $second%(3600*24);//除去整天之后剩余的时间
$hour = floor($second/3600);
$second = $second%3600;//除去整小时之后剩余的时间
$minute = floor($second/60);
$second = $second%60;//除去整分钟之后剩余的时间
//返回字符串
return $day.'天'.$hour.'小时'.$minute.'分'.$second.'秒';
}
//获取从现在到2011年11月11日11点11分11秒还有多久
$time1 = strtotime('2011-11-11 11:11:11');
$time2 = strtotime(now);
//相减得到相差的 秒 数
$time3 = $time1 - $time2;
//输出
echo '从现在到2011年11月11日11点11分11秒还有:'.time2string($time3);
把HH:MM:SS格式的时间字符串转换成秒数,可以使用date_parse函数解析具体的时间信息。
<?php
$time = '21:30:10';
$parsed = date_parse($time);
$seconds = $parsed['hour'] * 3600 $parsed['minute'] * 60 $parsed['second'];
echo $seconds;
?>
更详细的例子
转换成多少天/多少小时/多少分
function get_stay_time($timestamp, $is_hour = 1, $is_minutes = 1)
{
$CI =& get_instance();
if(empty($timestamp) || $timestamp <= 60) {
return false;
}
$time = time();
$remain_time = $time - $timestamp;
$day = floor($remain_time / (3600*24));
$day = $day > 0 ? $day.'天' : '';
$hour = floor(($remain_time % (3600*24)) / 3600);
$hour = $hour > 0 ? $hour.'小时' : '';
if($is_hour && $is_minutes) {
$minutes = floor((($remain_time % (3600*24)) % 3600) / 60);
$minutes = $minutes > 0 ? $minutes.'分' : '';
return $day.$hour.$minutes;
}
if($hour) {
return $day.$hour;
}
return $day;
}
date_default_timezone_set("PRC");
$remain_time = time() - strtotime($liveInfo['begin_live_time']);
$second = floor((($remain_time % (3600*24)) % 3600) % 60);
php实现倒计时效果
date_default_timezone_set('Asia/Hong_Kong');
$startDate = '2015-8-11';
$endDate = '2015-8-31';
// 将日期转换为Unix时间戳
$startDateStr = strtotime($startDate);
$endtDateStr = strtotime($endDate);
$total = $endtDateStr-$startDateStr;
$now = strtotime(date('Y-m-d'));
$remain = $endtDateStr-$now;
echo '为期:'.$total/(3600*24).'天<br>';
echo '剩余:'.$remain/(3600*24).'天';
简单剩余的时间
date_default_timezone_set('Asia/Hong_Kong');
$startTime = '09:00:00';
$endTime = '18:00:00';
// 将时间转化为unix时间戳
$startTimeStr = strtotime($startTime);
$endTimeStr = strtotime($endTime);
$total = $endTimeStr - $startTimeStr;
$restHours = 1; // 休息1小时
$now = strtotime(date('H:i:s'));
$remain = $endTimeStr - $now;
echo '上班时间:'.($total/3600-$restHours).'小时<br>';
echo '还有:'.floor(($remain/3600)).'小时'.floor($remain/60).'分钟下班';
前后端配合实现考试剩余时间:
HTML布局
考试剩余时间:
js:
function dealData(id,value){
var place = document.getElementById(id);
place.innerHTML = value;
}
window.setInterval(function(){ // 每秒从服务器取一次数据
var ajax = new Ajax();
ajax.get("remain_time.php?a="+Math.random(),function(data){
eval("var dtime = "+data);
dealData('hour',dtime.hour);
dealData('minute',dtime.minute);
dealData('second',dtime.second);
});
},1000);
php
date_default_timezone_set('PRC');
$start_time = '09:00:00';
$end_time = '18:00:00';
$start_famate_time = strtotime($start_time);//开始时间转化为时间戳
$end_famate_time = strtotime($end_time); //结束时间转化为时间戳
$now_time = time();
if($end_famate_time < $now_time || $start_time > $now_time){
echo '当前不在考试的时间范围内!';
exit;
}
$remain_time = $end_famate_time-$now_time; //剩余的秒数
$remain_hour = floor($remain_time/(60*60)); //剩余的小时
$remain_minute = floor(($remain_time - $remain_hour*60*60)/60); //剩余的分钟数
$remain_second = ($remain_time - $remain_hour*60*60 - $remain_minute*60); //剩余的秒数
echo json_encode(array('hour'=>$remain_hour,'minute'=>$remain_minute,'second'=>$remain_second));
PHP date() 和 strtotime() 使用详解
php获取两个时间戳之间相隔多少天多少小时多少分多少秒
php实现倒计时效果
php实现倒计时功能
关于php+js实现倒计时效果