PHP时间戳函数(几分钟、几小时前、几天前等)

1.PHP时间戳函数将日期转化为unix时间戳

世界末日时间戳 PHP

 代码如下 复制代码

echo "世界末日时间戳为:".strtotime("2012-12-21")

2.将时间戳转化为系统时间

 代码如下 复制代码

date('Y-m-d H:i:s',"1228348800");

3.PHP时间戳函数获取英文文本日期时间 示例如下:

便于比较,使用date将当时间戳与指定时间戳转换成系统时间

(1)打印明天此时的时间戳strtotime(”+1 day”)

 代码如下 复制代码

//当前时间
echo date("Y-m-d H:i:s",time());
//明天此时时间
echo date("Y-m-d H:i:s",strtotime("+1 day"));

(2)打印昨天此时的时间戳strtotime(”-1 day”)

 代码如下 复制代码

//当前时间
echo date("Y-m-d H:i:s",time()) ;
//指定时间
echo date("Y-m-d H:i:s",strtotime("-1 day"));

(3)打印下个星期此时的时间戳strtotime("+1 week")

 代码如下 复制代码

//当前时间
echo date("Y-m-d H:i:s",time());
//下星期时间
echo date("Y-m-d H:i:s",strtotime("+1 week"));

(4)打印上个星期此时的时间戳strtotime("-1 week")

 代码如下 复制代码

//当前时间
echo date("Y-m-d H:i:s",time());
//上个星期此时时间
echo date("Y-m-d H:i:s",strtotime("-1 week"));

(5)打印指定下星期几的时间戳strtotime("next Thursday")

 

 代码如下 复制代码
//当前时间
echo date("Y-m-d H:i:s",time());
//下星期几时间
echo date("Y-m-d H:i:s",strtotime("next Thursday"));

(6)打印指定上星期几的时间戳strtotime(”last Thursday”)

 代码如下 复制代码

//当前时间
echo date("Y-m-d H:i:s",time());
//指定时间
echo date("Y-m-d H:i:s",strtotime("last Thursday"));

以上PHP时间戳函数示例可知,strtotime能将任何英文文本的日期时间描述解析为Unix时间戳,我们结合mktime()或date()格式化日期时间获取指定的时间戳,实现所需要的日期时间

话说看到别人写的这么一个函数,测试了一下,有些小毛病:对于跨年日期,没有显示年份。修改如下

 代码如下 复制代码

function mdate($time = NULL) {
    $text = '';
    $time = $time === NULL || $time > time() ? time() : intval($time);
    $t = time() - $time; //时间差 (秒)
    $y = date('Y', $time)-date('Y', time());//是否跨年
    switch($t){
     case $t == 0:
       $text = '刚刚';
       break;
     case $t < 60:
      $text = $t . '秒前'; // 一分钟内
      break;
     case $t < 60 * 60:
      $text = floor($t / 60) . '分钟前'; //一小时内
      break;
     case $t < 60 * 60 * 24:
      $text = floor($t / (60 * 60)) . '小时前'; // 一天内
      break;
     case $t < 60 * 60 * 24 * 3:
      $text = floor($time/(60*60*24)) ==1 ?'昨天 ' . date('H:i', $time) : '前天 ' . date('H:i', $time) ; //昨天和前天
      break;
     case $t < 60 * 60 * 24 * 30:
      $text = date('m月d日 H:i', $time); //一个月内
      break;
     case $t < 60 * 60 * 24 * 365&&$y==0:
      $text = date('m月d日', $time); //一年内
      break;
     default:
      $text = date('Y年m月d日', $time); //一年以前
      break;
    }
       
    return $text;
}

ThinkPHP中:

将写好的函数放到 Common 文件夹下。系统会自动加载的。
放到这个common.php页里,common.php 固有格式,不要改名。

模板中直接调用

 代码如下 复制代码

{$vo.time|mdate}

例2,简单一些的

 代码如下 复制代码

function formatDate($sTime) {
 //sTime=源时间,cTime=当前时间,dTime=时间差
 $cTime  = time();
 $dTime  = $cTime - $sTime;
 $dDay  = intval(date("Ymd",$cTime)) - intval(date("Ymd",$sTime));
 $dYear  = intval(date("Y",$cTime)) - intval(date("Y",$sTime));
 if( $dTime < 60 ){
  $dTime =  $dTime."秒前";
 }elseif( $dTime < 3600 ){
  $dTime =  intval($dTime/60)."分钟前";
 }elseif( $dTime >= 3600 && $dDay == 0  ){
  $dTime =  "今天".date("H:i",$sTime);
 }elseif($dYear==0){
  $dTime =  date("m-d H:i",$sTime);
 }else{
  $dTime =  date("Y-m-d H:i",$sTime);
 }
 return $dTime;
}

 

时间: 2024-08-31 00:40:27

PHP时间戳函数(几分钟、几小时前、几天前等)的相关文章

php 显示文章 几分钟 几小时 几天前

php教程 显示文章 几分钟 几小时 几天前  $time = time() - $time;         if ($time <= 24 * 3600) {             if ($time > 3600) {                 $timestring = intval($time / 3600) . '小时前';             } elseif ($time > 60) {                 $timestring = intval

PHP时间戳函数

  1.PHP时间戳函数将日期转化为unix时间戳 世界末日时间戳 PHP  代码如下   echo "世界末日时间戳为:".strtotime("2012-12-21") 2.将时间戳转化为系统时间  代码如下   date('Y-m-d H:i:s',"1228348800"); 3.PHP时间戳函数获取英文文本日期时间 示例如下: 便于比较,使用date将当时间戳与指定时间戳转换成系统时间 (1)打印明天此时的时间戳strtotime(&q

ios-秒数、分钟、小时之间的转换

问题描述 秒数.分钟.小时之间的转换 将秒数换成分钟和小时,代码如下: int minutes = floor(seconds/60); int sec = trunc(seconds - minutes * 60); int hours1 = floor(seconds / (60 * 60)); 运行之后在60分钟紧接着给出 01:61:01,我要的计时器格式是 01:01:01 就是分钟数在60分之后没实现转换. 请帮忙解决一下,谢谢您的帮助. 解决方案 是使用NSTimer实现的计时器吗

使用easyui showwindow 函数,弹出多层子窗口,前窗口被关闭的问题。

问题描述 使用easyui showwindow 函数,弹出多层子窗口,前窗口被关闭的问题. 1.父页面上有个链接,点击后调用函数弹出子窗口1. showWindow({ title:'统计1明细', href:"aaa/ccc.do", width:800, height:200, }); 2. 在子窗口1上,点击链接,调用函数弹出子窗口2. showWindow({ title:'统计2明细', href:"ccc/ddd.do", width:800, hei

PHP时间戳函数 strtotime()使用技巧

获取指定的年月日转化为时间戳: pHP时间戳函数获取指定日期的unix时间戳 strtotime('2012-12-7') 示例如下:  代码如下 复制代码 <?php     echo strtotime('2012-12-7'); //结果:1354838400 ?> 说明:返回2012年12月7日0点0分0秒时间戳.  将当前年月日转化为时间戳:  PHP时间戳函数获取当前日期的unix时间戳, 示例如下:  代码如下 复制代码 <?php     echo $time=intva

App 表单,同免费版排名前100或前150 的相差无异

Fred Wilson 在<App Constellations>中的观点很有意思,提炼一下: 你可以将你日常用的非游戏类应用列张表,你会发现: 你所列出的 App 表单,同免费版排名前100或前150 的相差无异. 你会发现其中有几个可能出自同一家公司. 相差无异这一点,原因在于移动端存在强者愈强效应.而后者,即 Fred Wilson 所谓的"App 星座"效应. 几个同属一家公司的 App,就像组成某个星座的星星,属于这家公司的星座里.通过表单,你可以看到,你手机里的

mysql 日期和时间以及转换时间戳函数

  使用execl转换时间戳的公式为: 代码: =(xxxxxxxxxx+8*3600)/86400+70*365+19 使用mysql教程语句解释时间戳语法举例: 代码: select from_unixtime(1234567890, '%y-%m-%d %h:%i:%s') 附: 在mysql中,一个时间字段的存储类型是int(11),怎么转化成字符类型,比方存储为13270655222,需要转化为yyyy -mm-dd的形式 使用 from_unixtime函数,具体如下: 代码: fr

FROM_UNIXTIME 格式化MYSQL时间戳函数_Mysql

函数:FROM_UNIXTIME作用:将MYSQL中以INT(11)存储的时间以"YYYY-MM-DD"格式来显示.语法:FROM_UNIXTIME(unix_timestamp,format) 返回表示 Unix 时间标记的一个字符串,根据format字符串格式化.format可以包含与DATE_FORMAT()函数列出的条目同样的修饰符. 根据format字符串格式化date值.下列修饰符可以被用在format字符串中: %M 月名字(January--December)%W 星期

ms sql server中实现的unix时间戳函数(含生成和格式化,可以和mysql兼容)

直接上代码: CREATE FUNCTION UNIX_TIMESTAMP (@ctimestamp datetime) RETURNS integer AS BEGIN /* Function body */ declare @return integer SELECT @return = DATEDIFF(SECOND,{d '1970-01-01'}, @ctimestamp) return @return END CREATE FUNCTION from_unixtime (@ts in