zoukankan      html  css  js  c++  java
  • Joomla2.5 JDate 时区日期运算

    新版的JDate其实是PHP5内置日期类DateTime的扩展类,所以继承所有DateTime的方法,即可以把JDate当DateTime类来使用。
     
    以下是得到前天的零时例子(PHP > 5.3.0):
    $config = JFactory::getConfig();
    // 用后台设置的TimeZone创建当前时间的对象
    $date = new JDate('now', new DateTimeZone($config->get('offset')));
    // 减去一天,DateInterval的用法可上PHP官方网查询
    $date->sub(new DateInterval('P1D'));
    // 用toFormat去掉时分秒,重新创建新对象
    $date = new JDate($date->toFormat('%Y-%m-%d'), new DateTimeZone($config->get('offset')));
    // format的第二参数决定是否使用TimeZone,否则会以UTC来输出
    echo $date->format(JText::_('DATE_FORMAT_LC2'), true);
    // 日期也可以用JHTML输出
    echo JHTML::_('date', <data>, JText::_('DATE_FORMAT_LC2'));
     
     
    以上代码可表现JDate更加对象化,而且和原生PHP5特征联系得更紧密。不过也许对于惯于使用timestamp进行运算的人来说会觉得很别扭。下面写一个timestamp的运算例子:
     
    $config = JFactory::getConfig();
    // 用toUnix得到timestamp再减去一天的秒数
    $date = new JDate('now', new DateTimeZone($config->get('offset')));
    $date->setTimestamp($date->toUnix()-3600*24); // PHP > 5.3.0
    $date = new JDate($date->toUnix() - 3600*24); // PHP > 5.2.0
    echo $date->format(JText::_('DATE_FORMAT_LC2'), true);
    
  • 相关阅读:
    hdu5926Mr. Frog’s Game
    hdu5926Mr. Frog’s Game
    hdu5924Mr. Frog’s Problem
    hdu5924Mr. Frog’s Problem
    hdu5922Minimum’s Revenge
    hdu5922Minimum’s Revenge
    带空格的字符串输入
    带空格的字符串输入
    382. Linked List Random Node
    319. Bulb Switcher
  • 原文地址:https://www.cnblogs.com/catcat811/p/2677565.html
Copyright © 2011-2022 走看看