本文整理汇总了PHP中CDate::setOffset方法的典型用法代码示例。如果您正苦于以下问题:PHP CDate::setOffset方法的具体用法?PHP CDate::setOffset怎么用?PHP CDate::setOffset使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类CDate
的用法示例。
在下文中一共展示了CDate::setOffset方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。
示例1: getDate
public static function getDate($str = '', $off = 0)
{
require_once JPATH_ROOT . DS . 'components' . DS . 'com_community' . DS . 'libraries' . DS . 'core.php';
$mainframe =& JFactory::getApplication();
$config = CFactory::getConfig();
$extraOffset = $config->get('daylightsavingoffset');
//convert to utc time first.
$utc_date = new CDate($str);
$date = new CDate($utc_date->toUnix() + $off * 3600);
$my =& JFactory::getUser();
$cMy = CFactory::getUser();
//J1.6 returns timezone as string, not integer offset.
if (method_exists('JDate', 'getOffsetFromGMT')) {
$systemOffset = new CDate('now', $mainframe->getCfg('offset'));
$systemOffset = $systemOffset->getOffsetFromGMT(true);
} else {
$systemOffset = $mainframe->getCfg('offset');
}
if (!$my->id) {
$date->setOffset($systemOffset + $extraOffset);
} else {
if (!empty($my->params)) {
$pos = JString::strpos($my->params, 'timezone');
$offset = $systemOffset + $extraOffset;
if ($pos === false) {
$offset = $systemOffset + $extraOffset;
} else {
$offset = $my->getParam('timezone', -100);
$myParams = $cMy->getParams();
$myDTS = $myParams->get('daylightsavingoffset');
$cOffset = !empty($myDTS) ? $myDTS : $config->get('daylightsavingoffset');
if ($offset == -100) {
$offset = $systemOffset + $extraOffset;
} else {
$offset = $offset + $cOffset;
}
}
$date->setOffset($offset);
} else {
$date->setOffset($systemOffset + $extraOffset);
}
}
return $date;
}