下面是我的函数,它将采用时间戳并告诉你从现在开始的时间,格式为23天3小时4分6秒

主要问题是在我的网站上我使用mysql的DATETIME而不是TIMESTAMP所以要使用这个函数我必须将我的日期时间从mysql转换为时间戳,然后通过我的函数运行它.

所以我很好奇,有没有更好的方法来做到这一点,在我有100个mysql结果的一些页面上,PHP必须将100个日期转换为时间戳,然后在其中100个上运行它.

我只是想知道是否有更好的性能方法,请不要推荐所有PHP框架(zend等)

感谢任何提示/帮助

function duration($timestamp) {

$years = floor($timestamp / (60 * 60 * 24 * 365));

$timestamp %= 60 * 60 * 24 * 365;

$weeks = floor($timestamp / (60 * 60 * 24 * 7));

$timestamp %= 60 * 60 * 24 * 7;

$days = floor($timestamp / (60 * 60 * 24));

$timestamp %= 60 * 60 * 24;

$hrs = floor($timestamp / (60 * 60));

$timestamp %= 60 * 60;

$mins = floor($timestamp / 60);

$secs = $timestamp % 60;

$str = "";

if ($years == 1) {

$str .= "{$years} year ";

}elseif ($years > 1) {

$str .= "{$years} yearss ";

}

if ($weeks == 1) {

$str .= "{$weeks} week ";

}elseif ($weeks > 1) {

$str .= "{$weeks} weeks ";

}

if ($days == 1) {

$str .= "{$days} day ";

}elseif ($days > 1) {

$str .= "{$days} days ";

}

if ($hrs == 1) {

$str .= "{$hrs} hour ";

}elseif ($hrs > 1) {

$str .= "{$hrs} hours ";

}

if ($mins == 1) {

$str .= "{$mins} minute ";

}elseif ($mins > 1) {

$str .= "{$mins} minutes ";

}

if ($mins < 1 && $secs >= 1) {

$str .= "{$secs} seconds ";

}

return $str;

}

php中时差怎么改,我的PHP时差功能可以改进吗?相关推荐

  1. 汇编语言 循环嵌套 将datasg段中每个单词改为大写字母 改进版

    题目要求 将datasg段中每个单词改为大写字母 思路 注意用al存放ascii即可 大写对应的ascii第五位是0,除了第五位以外不变 and al,11011111b 注意循环嵌套的时候 只有一个 ...

  2. 虚拟机linux gedit,Linux系统中把gedit改造成TextMate的方法

    TextMate是一款轻量级的文本编辑器软件,它具有出色的界面和强大的功能,能够提升开发者的编码效率.这款软件也开放源代码了,但是只能在Mac OS X上使用,因此小编下面给大家介绍一个方法,能够把g ...

  3. 【算法java版01】:键盘录入一个字符串,将字符串中的大写改成小写,小写改成大写,数字改成*

    键盘录入一个字符串,将字符串中的大写改成小写,小写改成大写,数字改成 * 一.题目描述 二.解题思路 三.代码示例 四.测评结果 一.题目描述 键盘录入一个字符串,将字符串中的大写改成小写,小写改成大 ...

  4. 将任意一个对象中的所有String类型的成员变量所对应的字符串内容中的“a“改为“b“(封装成一个方法)

    import java.lang.reflect.Field;public class test06 {/** 将任意一个对象中的所有String类型的成员变量所对应的字符串内容中的"a&q ...

  5. bim综合免费工具:Revit中公制门窗改为幕墙嵌门窗

    bim综合免费工具:Revit中公制门窗改为幕墙嵌门窗?有时候需要在幕墙上增加门或窗,但是用幕墙窗或幕墙门来代替幕嵌板,但是,公制门窗的种类较多,如何将现有的公制门窗改为可替换嵌板的幕墙门窗? 下面讲 ...

  6. react----Label 中的for 改为 htmlFor

    react Label 中的for 改为 htmlFor 同时再记录一下 HTML 标签的 for 属性 学习网址 定义和用法 for 属性规定 label 与哪个表单元素绑定. 隐式和显式的联系 标 ...

  7. mac中finder侧边栏个人收藏中目录英文改中文的方法

    很多使用MAC OS X系统的朋友都遇到过这种情况,突然访达Finder中的目录变成了英文,虽然不影响使用,但是却足以逼死强迫症.下面说一下怎么把这些英文目录变回来的方法,通过下图可以看到,我的Fin ...

  8. usb3.0 u盘 安装 linux,在16G USB3.0中安装ubuntu10.10成功!U盘功能可用

    折腾了快两天,终于成功的将ubuntu装入U盘,同时能够保持U盘功能,激动ing... 感兴趣的同学可以查看附件.(ps:不会传,现把全文内容附上,说不上原创,不过集合了网上很多的资源,自己稍有发挥. ...

  9. CRM客户关系管理系统开发第十九讲——实现客户拜访记录管理模块中条件查询客户拜访记录列表的功能

    在客户拜访记录列表页面上准备一些筛选条件 首先,咱得在客户拜访记录列表页面上准备一些筛选条件,不妨我们按照拜访时间来进行筛选.之前咱在实现联系人管理模块中条件查询联系人列表的功能时,文本输入框使用的是 ...

最新文章

  1. 我输给了一个 25 岁的男人
  2. python语言能干什么-Python这么火到底能干啥?
  3. [笔记] 大家一起来测试,benchmark起来(MySQL下的TPC-C,TPC-H,TPC-W)
  4. 数据库命名规范(转)
  5. 跨时钟域电路设计——多bit信号FIFO
  6. 数据挖掘—BP神经网络(Java实现)
  7. 滑盖、双屏手机降价至冰点,为何仍无人问津?
  8. pclint 与vs2010结合识别预处理器定义
  9. android系统开机画面_Android开机画面
  10. HihoCoder-1523(思维)
  11. ubuntu 如何放大终端窗口字体
  12. 本机电脑访问其他电脑的磁盘
  13. 如何成为Android高手
  14. 有关WEB前端中的语义化
  15. 手游挂机工作室 - 二三点科普
  16. yum安装zabbix5.0并配置grafana模板【2W字超详细】
  17. 什么是web3.0?
  18. 世界银行专家:区块链可以重塑全球电子政务采购
  19. windows10用内带wifi共享功能
  20. 图神经网络让谷歌地图更智能

热门文章

  1. mybatis返回null_面试官:你分析过mybatis工作原理吗?
  2. pycharm格式化代码快捷键_你写的 Python 代码总是不规范?用它!
  3. 两个特征是独立好还是正相关好_2021考研数学概率典型例题,都给你总结好啦!...
  4. python封装 继承 多态 举例_python面向对象中的封装、继承、多态
  5. const int是什么类型_C++的const语义
  6. idea使用svn拉取项目代码_IntelliJ IDEA 14 拉取SVN maven 多模块项目 部署tomcat 详细图解!...
  7. java正则 找出数字_Java使用正则表达式实现找出数字功能示例
  8. 《背影》——朱自清(目录导航测试)
  9. Java核心(三):代码块的作用
  10. 前后端分离与前后端不分离的区别