`

一个显示多少时间之前的函数

    博客分类:
  • PHP
阅读更多
收藏一个老外写的,专门用来显示比如“2 hours ago,1 hour ago"之类时间的函数,
请注意其中对英文单复数时间的处理:
<?php

function Timesince($original) {
// array of time period chunks
$chunks = array(
array(60 * 60 * 24 * 365 , \’year\’),
array(60 * 60 * 24 * 30 , \’month\’),
array(60 * 60 * 24 * 7, \’week\’),
array(60 * 60 * 24 , \’day\’),
array(60 * 60 , \’hour\’),
array(60 , \’min\’),
array(1 , \’sec\’),
);

$today = time(); /* Current unix time */
$since = $today – $original;

// $j saves performing the count function each time around the loop
for ($i = 0, $j = count($chunks); $i < $j; $i++) {

$seconds = $chunks[$i][0];
$name = $chunks[$i][1];

// finding the biggest chunk (if the chunk fits, break)
if (($count = floor($since / $seconds)) != 0) {
break;
}
}

$print = ($count == 1) ? \’1 \’.$name : \"$count {$name}s\";

if ($i + 1 < $j) {
// now getting the second item
$seconds2 = $chunks[$i + 1][0];
$name2 = $chunks[$i + 1][1];

// add second item if its greater than 0
if (($count2 = floor(($since – ($seconds * $count)) / $seconds2)) != 0) {
$print .= ($count2 == 1) ? \’, 1 \’.$name2 : \" $count2 {$name2}s\";
}
}
return $print;
}

?>

  注意传入的是UNIX类型的时间,如果数据库中传入的是TIMESTAMP类型,可以转换下
SELECT id, username, UNIX_TIMESTAMP(joined_data) from UserTable;

分享到:
评论

相关推荐

    函数调用显示当前日期

    本文将围绕一个简短而实用的JS代码片段进行深度剖析,该代码的主要功能是调用并显示当前系统的日期时间。 #### 核心代码解析: ```javascript function showdate() { var d; d = new Date(); d = d.getYear() ...

    lcd_display.rar_LCD 数字显示_LCD显示函数_液晶显示函数

    首先,我们看到一个名为`lcd_display.h`的文件,这通常是一个头文件,包含了定义LCD显示函数的原型和相关常量。在C语言中,头文件用于在多个源文件间共享函数声明和宏定义,确保编译时的类型安全。 LCD数字显示通常...

    oracle函数大全(分类显示).zip

    - `RANK`, `DENSE_RANK`, `ROW_NUMBER`:用于窗口函数,为每一行分配一个排名。 - `LAG/LEAD`:访问当前行之前或之后的行值。 - `FIRST_VALUE/LAST_VALUE`:返回分组内第一行或最后一行的值。 8. **系统信息函数...

    php把时间戳转换成多少时间之前函数的实例

    上文提供的代码片段即实现了一个名为wordTime的函数,该函数接收一个时间戳参数,并返回一个表示“多少时间之前”的字符串。在具体实现上,函数首先将输入的时间戳转换为一个整型数值,以确保后续计算的准确性。接...

    gitlab提交时间显示错误问题解决.docx

    在GitLab中,有时会遇到一个困扰用户的问题,即提交时间显示不准确,它可能会错误地显示为“XXX年前”提交,而实际上应当是“XXX秒前”或更精确的时间。这种时间显示错误可能会影响用户的项目管理和协作效率,因为...

    Python常用的基础函数

    update()函数可以用一个字典项更新另一个字典项。 其他函数 40. pass:什么都不做 pass函数什么都不做。 41. exec:执行一段代码 exec函数可以执行一段代码。 42. time.sleep()函数:停止一段时间 time.sleep()...

    ADS中关于sprintf()函数无法正确显示浮点数问题的解决办法

    在使用ARM Developer Suite (ADS) 1.2版本进行软件开发的过程中,可能会遇到一个常见的问题:利用`sprintf()`函数将浮点数转换成字符串时,输出结果中的小数点无法正确显示。这一现象主要出现在某些特定环境下,导致...

    Jsp动态显示服务器时间

    setTimeout() 方法可以用来执行一个函数,但它只执行一次,而 setInterval() 方法可以用来执行一个函数,并且可以执行多次。因此,在实现 Jsp 动态显示服务器时间时,需要使用 setInterval() 方法来循环执行获取...

    Windows Api函数大全分类速查

    - 描述:此函数用于断开或删除一个之前通过WNetAddConnection等函数创建的网络连接。 5. **WNetCancelConnection2** - 功能:取消一个已存在的网络连接,提供了更多的控制选项。 - 描述:与...

    Excel-165个VBA自定义函数大全

    虽然具体税种未明确,但此函数提供了一个通用框架来计算不同类型的税金,包括但不限于增值税、营业税等,是财务自动化的重要组成部分。 #### 9. 人民币大、小写转换 除了将数字转换为大写外,该函数还支持从小写到...

    TIA博途WINCC的触摸屏VB脚本入门(Len函数获取字符串长度以及Right和Left函数).docx

    这里我们将创建一个名为VBFunction_2的函数,它将执行我们的字符串操作。 在VBFunction_2函数内,我们可以使用以下代码: ```vb Dim strInput As String = "123abc" ' 输入字符串 Dim lenth As Integer = Len...

    SAP HR几个常用函数及宏

    **功能描述**:这个函数允许用户根据一定的条件请求一个对象标识,这对于后续的操作提供了基础。 **应用场景**: - 当需要创建或更新某个对象时,首先通过此函数获取其唯一的标识符,以便进行更精确的操作。 - 在...

    excel2003常用函数完全手册

    嵌套函数是指在一个函数内部包含另一个函数的调用,这有助于解决更复杂的问题。 **7. 名称和标志** 名称和标志是为单元格或单元格区域赋予的名称,便于引用和管理。 #### 函数输入方法 **1. “插入函数”对话框*...

    EXCEL函数手册解除限制.pdf

    函数可以是多重的,即一个函数可以作为另一个函数的参数,这种结构称为嵌套函数。嵌套函数能够在复杂的情况下提供更多的灵活性和功能性。例如,可以将AVERAGE函数嵌套在IF函数中,判断一组单元格的平均值是否大于...

    用51单片机驱动DS1302时间模块+DS18B20温度传感器模块+12864液晶显示完整程序

    本项目中,12864液晶显示器用于实时显示时间和温度信息。 #### 12864液晶显示器的操作 - **初始化**: 启动前需对12864液晶显示器进行初始化,包括设置工作模式、清屏等。 - **写指令**: 通过写指令可以控制显示屏的...

    网页显示动态日期时间html源码模板

    这段代码首先通过`getElementById`找到我们之前创建的`&lt;div&gt;`,然后定义一个`updateDateTime`函数,用于获取当前日期和时间,并设置为`&lt;div&gt;`的内容。最后,我们使用`setInterval`每秒钟调用一次`updateDateTime`,...

    API之网络函数---整理网络函数及功能

    GetCharacterPlacement 该函数用于了解如何用一个给定的字符显示一个字串 GetCharWidth 调查字体中一个或多个字符的宽度 GetFontData 接收一种可缩放字体文件的数据 GetFontLanguageInfo 返回目前选入指定设备...

    闹钟,三个While,一个作声响,一个计算时间,一个显示时间_源码.zip

    在给定的“闹钟,三个While,一个作声响,一个计算时间,一个显示时间_源码.zip”压缩包文件中,我们可以推测这是一个基于编程的项目,它利用了三个独立的while循环来实现一个闹钟功能。这个项目的核心是通过编程...

    vc6.0 MFC 窗口类函数介绍

    - `PreTranslateMessage()`:这是一个可重载的虚函数,用于在消息被分发到窗口处理函数之前进行预处理,可以过滤或修改消息。 - `SendMessage()`:直接发送一个消息给窗口,并等待窗口函数处理完返回,通常用于...

Global site tag (gtag.js) - Google Analytics