当前位置: 首页>>代码示例>>PHP>>正文


PHP Date_Calc::round方法代码示例

本文整理汇总了PHP中Date_Calc::round方法的典型用法代码示例。如果您正苦于以下问题:PHP Date_Calc::round方法的具体用法?PHP Date_Calc::round怎么用?PHP Date_Calc::round使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在Date_Calc的用法示例。


在下文中一共展示了Date_Calc::round方法的2个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。

示例1: roundSeconds

 /**
  * Rounds seconds up or down to the nearest specified unit
  *
  * @param int   $pn_precision number of digits after the decimal point
  * @param int   $pn_day       the day of the month
  * @param int   $pn_month     the month
  * @param int   $pn_year      the year
  * @param int   $pn_hour      the hour
  * @param int   $pn_minute    the minute
  * @param mixed $pn_second    the second as integer or float
  * @param bool  $pb_countleap whether to count leap seconds (defaults to
  *                             DATE_COUNT_LEAP_SECONDS)
  *
  * @return   array      array of year, month, day, hour, minute, second
  * @access   public
  * @static
  * @since    Method available since Release 1.5.0
  */
 function roundSeconds($pn_precision, $pn_day, $pn_month, $pn_year, $pn_hour, $pn_minute, $pn_second, $pb_countleap = DATE_COUNT_LEAP_SECONDS)
 {
     return Date_Calc::round(DATE_PRECISION_SECOND + $pn_precision, $pn_day, $pn_month, $pn_year, $pn_hour, $pn_minute, $pn_second);
 }
开发者ID:222elm,项目名称:dotprojectFrame,代码行数:22,代码来源:Calc.php

示例2: round

 /**
  * Rounds the date according to the specified precision (defaults
  * to nearest day)
  *
  * The precision parameter must be one of the following constants:
  *
  *  <code>DATE_PRECISION_YEAR</code>
  *  <code>DATE_PRECISION_MONTH</code>
  *  <code>DATE_PRECISION_DAY</code>
  *  <code>DATE_PRECISION_HOUR</code>
  *  <code>DATE_PRECISION_10MINUTES</code>
  *  <code>DATE_PRECISION_MINUTE</code>
  *  <code>DATE_PRECISION_10SECONDS</code>
  *  <code>DATE_PRECISION_SECOND</code>
  *
  * N.B. the default is DATE_PRECISION_DAY
  *
  * The precision can also be specified as an integral offset from
  * one of these constants, where the offset reflects a precision
  * of 10 to the power of the offset greater than the constant.
  * For example:
  *
  *  <code>DATE_PRECISION_YEAR - 1</code> rounds the date to the nearest 10
  *                                      years
  *  <code>DATE_PRECISION_YEAR - 3</code> rounds the date to the nearest 1000
  *                                      years
  *  <code>DATE_PRECISION_SECOND + 1</code> rounds the date to 1 decimal
  *                                        point of a second
  *  <code>DATE_PRECISION_SECOND + 3</code> rounds the date to 3 decimal
  *                                        points of a second
  *  <code>DATE_PRECISION_SECOND - 1</code> rounds the date to the nearest 10
  *                                        seconds (thus it is equivalent to
  *                                        DATE_PRECISION_10SECONDS)
  *
  * @param int  $pn_precision          a 'DATE_PRECISION_*' constant
  * @param bool $pb_correctinvalidtime whether to correct, by adding the
  *                                     local Summer time offset, the rounded
  *                                     time if it falls in the skipped hour
  *                                     (defaults to
  *                                     DATE_CORRECTINVALIDTIME_DEFAULT)
  *
  * @return   void
  * @access   public
  * @since    Method available since Release 1.5.0
  */
 function round($pn_precision = DATE_PRECISION_DAY, $pb_correctinvalidtime = DATE_CORRECTINVALIDTIME_DEFAULT)
 {
     if ($pn_precision <= DATE_PRECISION_DAY) {
         list($hn_year, $hn_month, $hn_day, $hn_hour, $hn_minute, $hn_secondraw) = Date_Calc::round($pn_precision, $this->day, $this->month, $this->year, $this->hour, $this->minute, $this->partsecond == 0.0 ? $this->second : $this->second + $this->partsecond, $this->ob_countleapseconds);
         if (is_float($hn_secondraw)) {
             $hn_second = intval($hn_secondraw);
             $hn_partsecond = $hn_secondraw - $hn_second;
         } else {
             $hn_second = $hn_secondraw;
             $hn_partsecond = 0.0;
         }
         $this->setLocalTime($hn_day, $hn_month, $hn_year, $hn_hour, $hn_minute, $hn_second, $hn_partsecond, true, $pb_correctinvalidtime);
         return;
     }
     // ($pn_precision >= DATE_PRECISION_HOUR)
     //
     if ($this->tz->getDSTSavings() % 3600000 == 0 || $this->tz->getDSTSavings() % 60000 == 0 && $pn_precision >= DATE_PRECISION_MINUTE) {
         list($hn_year, $hn_month, $hn_day, $hn_hour, $hn_minute, $hn_secondraw) = Date_Calc::round($pn_precision, $this->on_standardday, $this->on_standardmonth, $this->on_standardyear, $this->on_standardhour, $this->on_standardminute, $this->on_standardpartsecond == 0.0 ? $this->on_standardsecond : $this->on_standardsecond + $this->on_standardpartsecond, $this->ob_countleapseconds);
         if (is_float($hn_secondraw)) {
             $hn_second = intval($hn_secondraw);
             $hn_partsecond = $hn_secondraw - $hn_second;
         } else {
             $hn_second = $hn_secondraw;
             $hn_partsecond = 0.0;
         }
         $this->setStandardTime($hn_day, $hn_month, $hn_year, $hn_hour, $hn_minute, $hn_second, $hn_partsecond);
         return;
     }
     // Very unlikely anyway (as I write, the only time zone like this
     // is Lord Howe Island in Australia (offset of half an hour)):
     //
     // (This algorithm could be better)
     //
     list($hn_year, $hn_month, $hn_day, $hn_hour, $hn_minute, $hn_secondraw) = Date_Calc::round($pn_precision, $this->day, $this->month, $this->year, $this->hour, $this->minute, $this->partsecond == 0.0 ? $this->second : $this->second + $this->partsecond, $this->ob_countleapseconds);
     if (is_float($hn_secondraw)) {
         $hn_second = intval($hn_secondraw);
         $hn_partsecond = $hn_secondraw - $hn_second;
     } else {
         $hn_second = $hn_secondraw;
         $hn_partsecond = 0.0;
     }
     $this->setLocalTime($hn_day, $hn_month, $hn_year, $hn_hour, $hn_minute, $hn_second, $hn_partsecond, false, $pb_correctinvalidtime);
     // This will be right
     // some of the time
     // (depends on Summer
     // time offset)
 }
开发者ID:,项目名称:,代码行数:92,代码来源:


注:本文中的Date_Calc::round方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。