Symbian 之 时间 时区 日历 转化
2010-07-22 01:43:00 来源:WEB开发网CleanupStack::PushL(cities);
//构建城市名称
_LIT(KNewCityName,"Cambridge");
TBufC
TPtrC newCityName(newCityBuf);
CTzLocalizedCity* temp;
// (AddCityL() leaves if the city has already been added, so trap the leave)
TRAPD(err,temp=localizer->AddCityL(timeZoneId,newCityName,cityGroupId));
// Ignore return value
if (err==KErrNone)
delete temp;
CleanupStack::PopAndDestroy(cities);
}
//还有许多相关的时区和城市的API可供使用,详细的说明见SDK
/* 相关的类 相信大家看名字也知道怎么回事了 哈哈
CTzLocalizer //最重要的时区相关类
CTzLocalizedCity 城市
CTzLocalizedCityArray 城市数组
CTzLocalizedCityGroup
CTzLocalizedCityGroupArray
CTzLocalizedTimeZone
CTzLocalizedTimeZoneArray
*/
//二、将标准时间转化为本地时间
void ConvertUtcToLocalTimeL()
{
// randomly choose a historical utc date/time, 随机构建一个时间
TTime time(TDateTime(2001,EJuly,20,10,0,0,0));
time.FormatL(dateTimeString, KDateTimeString);
// now convert the date/time to local time for Australia/Sydney time zone
//CTzId 此类可以用名称或者ID来构建。可以有下面两种形式
//A name recognised by the time zone database,说明这些名字需要被数据库认识
//A numeric reference ID, generated by the time zone compiler
_LIT8(KAustraliaSydney,"Australia/Sydney");
CTzId* timezoneId = CTzId::NewL(KAustraliaSydney);
CleanupStack::PushL(timezoneId);
//tzServer为RTz对象,我们看到它是R类,所以我们需要在使用时用connect进行初始化。
//还有ConvertToLocalTime(), ConvertToUniversalTime() NotifyHomeTimeZoneChangedL()等相关的函数。都非常有用。
更多精彩
赞助商链接