WEB开发网
开发学院手机开发Symbian 开发 Symbian 之 时间 时区 日历 转化 阅读

Symbian 之 时间 时区 日历 转化

 2010-07-22 01:43:00 来源:WEB开发网   
核心提示:CleanupStack::PushL(cities);//构建城市名称_LIT(KNewCityName,"Cambridge");TBufC newCityBuf(KNewCityName);TPtrC newCityName(newCityBuf);CTzLocalizedCity* temp

CleanupStack::PushL(cities);

//构建城市名称

_LIT(KNewCityName,"Cambridge");

TBufC newCityBuf(KNewCityName);

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()等相关的函数。都非常有用。

Tags:Symbian 时间 时区

编辑录入:coldstar [复制链接] [打 印]
赞助商链接