Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/231.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/visual-studio-2008/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
PHP库生成用户友好的相对时间戳_Php_Date_Time - Fatal编程技术网

PHP库生成用户友好的相对时间戳

PHP库生成用户友好的相对时间戳,php,date,time,Php,Date,Time,我正在寻找一个PHP库,它可以生成用户友好的时间表示,例如,当时间戳为time()-2*3600时,“两小时前” 有几个现有问题的答案和博客帖子(,),但都只包含代码片段,没有一个库我可以安装和升级 ,Python也有一个,Javascript也有几个(,),PHP库在哪里 图书馆应具备以下内容: 文件 梨可安装 定期发布 (可选)翻译 我知道有一个,你可以很容易地移植它 该函数称为fuzzy\u span() 请参见Kohana Date类为此提供了fuzzy\u span()方法。但它无

我正在寻找一个PHP,它可以生成用户友好的时间表示,例如,当时间戳为
time()-2*3600
时,“两小时前”

有几个现有问题的答案和博客帖子(,),但都只包含代码片段,没有一个库我可以安装和升级

,Python也有一个,Javascript也有几个(,),PHP库在哪里


图书馆应具备以下内容:

  • 文件
  • 梨可安装
  • 定期发布
  • (可选)翻译
    • 我知道有一个,你可以很容易地移植它

      该函数称为
      fuzzy\u span()


      请参见

      Kohana Date类为此提供了
      fuzzy\u span()
      方法。但它无法回答“10分钟”这样的精确值,请尝试以下代码:

      $current_date_time_get_updated_on_date_format = '';
      
      function get_updated_on_date_format($dt_updated, $prefix = 'Updated ', $at = 'at ') {
          global $current_date_time_get_updated_on_date_format;
      
          if ($current_date_time_get_updated_on_date_format == '') {
              $current_date_time_get_updated_on_date_format = now();
          }
      
          $i_second_now         = strtotime($current_date_time_get_updated_on_date_format);
          $i_second_dt_updated  = strtotime($dt_updated);
          $i_second_diff        = $i_second_now - $i_second_dt_updated;
          $s_return_date_format = '';
      
          if ($i_second_diff < 0) {
              // Developers Uploading Time, Time Zone Gap Patch
              $s_return_date_format = $prefix . $at . date('g:ia \o\n F jS, Y', strtotime($dt_updated));
          } else if ($i_second_diff < 60) {
              $s_return_date_format = $prefix . $i_second_diff . ' seconds ago ';
          } elseif ($i_second_diff < (60 * 60)) {
              $s_return_date_format = $prefix . round(($i_second_diff / 60), 0) . ' minitues ago ';
          } elseif ($i_second_diff < (60 * 60 * 24)) {
              $s_return_date_format = $prefix . round(($i_second_diff / (60 * 60)), 0) . ' hours ago ';
          } else {
              $s_return_date_format = $prefix . $at . date('g:ia \o\n F jS, Y', strtotime($dt_updated));
          }
      
          return $s_return_date_format;
      
      }
      
      function now() {
          // it should extract database time in this format 'YYYY-MM-DD HH:MM:SS'
          return mysql_now_value;
      }
      
      $current\u date\u time\u get\u updated\u on\u date\u format='';
      函数get_updated_on_date_格式($dt_updated,$prefix='updated',$at='at')){
      全局$current\u date\u time\u get\u UPDATE\u格式;
      如果($current_date_time_get_updated_on_date_format=''){
      $current_date_time_get_updated_on_date_format=now();
      }
      $i_second_now=strotime($current_date_time_get_updated_on_date_format);
      $i_second_dt_updated=strotime($dt_updated);
      $i_second_diff=$i_second_now-$i_second_dt_updated;
      $s_返回日期_格式=“”;
      如果($i_second_diff<0){
      //开发者上传时间、时区间隔补丁
      $s_return\u date_format=$prefix.$at.date('g:ia\o\n F jS,Y',strottime($dt_updated));
      }否则,如果($i_second_diff<60){
      $s_return_date_format=$prefix.$i_second_diff.'seconds ago';
      }elseif($i_second_diff<(60*60)){
      $s_return_date_format=$prefix.round($i_second_diff/60),0)。'minitues ago';
      }elseif($i_second_diff<(60*60*24)){
      $s_return_date_format=$prefix.round($i_second_diff/(60*60)),0.“小时前”;
      }否则{
      $s_return\u date_format=$prefix.$at.date('g:ia\o\n F jS,Y',strottime($dt_updated));
      }
      return$s\u return\u date\u格式;
      }
      函数now(){
      //它应该以“YYYY-MM-DD HH:MM:SS”格式提取数据库时间
      返回mysql\u now\u值;
      }
      
      由于似乎没有任何库,我自己制作了一个,并将其包含在PEAR中:

      日期


      代码位于

      在你的问题的上下文中,什么是库?有没有不使用JavaScript库的理由?我不想依赖JavaScript,因为目标受众使用lynx等浏览器。我明确要求提供库,而不是一段代码。a+1表示链接,而webbandit的答案没有