php 时间转换成秒数 或者做倒計時

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实现倒计时效果

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

伟伟哦

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值