收藏一个老外写的,专门用来显示比如“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.h`的文件,这通常是一个头文件,包含了定义LCD显示函数的原型和相关常量。在C语言中,头文件用于在多个源文件间共享函数声明和宏定义,确保编译时的类型安全。 LCD数字显示通常...
- `RANK`, `DENSE_RANK`, `ROW_NUMBER`:用于窗口函数,为每一行分配一个排名。 - `LAG/LEAD`:访问当前行之前或之后的行值。 - `FIRST_VALUE/LAST_VALUE`:返回分组内第一行或最后一行的值。 8. **系统信息函数...
上文提供的代码片段即实现了一个名为wordTime的函数,该函数接收一个时间戳参数,并返回一个表示“多少时间之前”的字符串。在具体实现上,函数首先将输入的时间戳转换为一个整型数值,以确保后续计算的准确性。接...
在GitLab中,有时会遇到一个困扰用户的问题,即提交时间显示不准确,它可能会错误地显示为“XXX年前”提交,而实际上应当是“XXX秒前”或更精确的时间。这种时间显示错误可能会影响用户的项目管理和协作效率,因为...
update()函数可以用一个字典项更新另一个字典项。 其他函数 40. pass:什么都不做 pass函数什么都不做。 41. exec:执行一段代码 exec函数可以执行一段代码。 42. time.sleep()函数:停止一段时间 time.sleep()...
在使用ARM Developer Suite (ADS) 1.2版本进行软件开发的过程中,可能会遇到一个常见的问题:利用`sprintf()`函数将浮点数转换成字符串时,输出结果中的小数点无法正确显示。这一现象主要出现在某些特定环境下,导致...
setTimeout() 方法可以用来执行一个函数,但它只执行一次,而 setInterval() 方法可以用来执行一个函数,并且可以执行多次。因此,在实现 Jsp 动态显示服务器时间时,需要使用 setInterval() 方法来循环执行获取...
- 描述:此函数用于断开或删除一个之前通过WNetAddConnection等函数创建的网络连接。 5. **WNetCancelConnection2** - 功能:取消一个已存在的网络连接,提供了更多的控制选项。 - 描述:与...
虽然具体税种未明确,但此函数提供了一个通用框架来计算不同类型的税金,包括但不限于增值税、营业税等,是财务自动化的重要组成部分。 #### 9. 人民币大、小写转换 除了将数字转换为大写外,该函数还支持从小写到...
这里我们将创建一个名为VBFunction_2的函数,它将执行我们的字符串操作。 在VBFunction_2函数内,我们可以使用以下代码: ```vb Dim strInput As String = "123abc" ' 输入字符串 Dim lenth As Integer = Len...
**功能描述**:这个函数允许用户根据一定的条件请求一个对象标识,这对于后续的操作提供了基础。 **应用场景**: - 当需要创建或更新某个对象时,首先通过此函数获取其唯一的标识符,以便进行更精确的操作。 - 在...
嵌套函数是指在一个函数内部包含另一个函数的调用,这有助于解决更复杂的问题。 **7. 名称和标志** 名称和标志是为单元格或单元格区域赋予的名称,便于引用和管理。 #### 函数输入方法 **1. “插入函数”对话框*...
函数可以是多重的,即一个函数可以作为另一个函数的参数,这种结构称为嵌套函数。嵌套函数能够在复杂的情况下提供更多的灵活性和功能性。例如,可以将AVERAGE函数嵌套在IF函数中,判断一组单元格的平均值是否大于...
本项目中,12864液晶显示器用于实时显示时间和温度信息。 #### 12864液晶显示器的操作 - **初始化**: 启动前需对12864液晶显示器进行初始化,包括设置工作模式、清屏等。 - **写指令**: 通过写指令可以控制显示屏的...
这段代码首先通过`getElementById`找到我们之前创建的`<div>`,然后定义一个`updateDateTime`函数,用于获取当前日期和时间,并设置为`<div>`的内容。最后,我们使用`setInterval`每秒钟调用一次`updateDateTime`,...
GetCharacterPlacement 该函数用于了解如何用一个给定的字符显示一个字串 GetCharWidth 调查字体中一个或多个字符的宽度 GetFontData 接收一种可缩放字体文件的数据 GetFontLanguageInfo 返回目前选入指定设备...
在给定的“闹钟,三个While,一个作声响,一个计算时间,一个显示时间_源码.zip”压缩包文件中,我们可以推测这是一个基于编程的项目,它利用了三个独立的while循环来实现一个闹钟功能。这个项目的核心是通过编程...
- `PreTranslateMessage()`:这是一个可重载的虚函数,用于在消息被分发到窗口处理函数之前进行预处理,可以过滤或修改消息。 - `SendMessage()`:直接发送一个消息给窗口,并等待窗口函数处理完返回,通常用于...