本文整理汇总了C++中TimeZone::StandardName方法的典型用法代码示例。如果您正苦于以下问题:C++ TimeZone::StandardName方法的具体用法?C++ TimeZone::StandardName怎么用?C++ TimeZone::StandardName使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类TimeZone
的用法示例。
在下文中一共展示了TimeZone::StandardName方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: throw
CString DateTime::FormatISO8601(T_enISO8601Format enFormat, bool bBasic, const TimeZone& tz) const throw()
{
CString cszDate;
switch(enFormat)
{
case formatY: return Format(_T("%Y"), tz);
case formatYM: return Format(bBasic ? _T("%Y%m") : _T("%Y-%m"), tz);
case formatYMD: return Format(bBasic ? _T("%Y%m%d") : _T("%Y-%m-%d"), tz);
case formatYMD_HM_Z:
cszDate = Format(bBasic ? _T("%Y%m%dT%H%M") : _T("%Y-%m-%dT%H:%M"), tz);
break;
case formatYMD_HMS_Z:
cszDate = Format(bBasic ? _T("%Y%m%dT%H%M%S") : _T("%Y-%m-%dT%H:%M:%S"), tz);
break;
case formatYMD_HMSF_Z:
{
cszDate = Format(bBasic ? _T("%Y%m%dT%H%M%S") : _T("%Y-%m-%dT%H:%M:%S"), tz);
CString cszFraction;
cszFraction.Format(_T(".%03u"), Millisecond());
cszDate += cszFraction;
}
break;
}
// add timezone
if (tz.StandardName() == _T("UTC"))
cszDate += _T("Z");
else
{
TimeSpan spTimezone = tz.GetUtcOffset(*this);
bool bNegative = spTimezone < TimeSpan(0, 0, 0, 0);
TimeSpan spTimezoneAbs = bNegative ? -spTimezone : spTimezone;
CString cszTimezone;
cszTimezone.Format(bBasic ? _T("%c%02u%02u") : _T("%c%02u:%02u"),
!bNegative ? _T('+') : _T('-'),
spTimezoneAbs.Hours(),
spTimezoneAbs.Minutes());
cszDate += cszTimezone;
}
return cszDate;
}