利用S60 3rd中的RTz进行时区转换/修改

 

利用S60 3rd中的RTz进行时区转换/修改

3rd中TLocale::SetUniversalTimeOffset()已经被移走,因此无法通过TLocale修改系统时区。
但是RTz提供了连接到Timezone服务器的功能,可以利用其SetHomeTime()进行设置本地时间,同时也修改了时区。

转换时区举例:
假如当前系统时区是+3区,想要把当前系统时间转换为+8区的当地时间。


class RTz
Location: tz.h
Link against: tzclient.lib

 

CTzId* tzid = CTzId::NewL(_L8(”Asia/Shanghai”)); //上海是+8区
RTz tz;
User::LeaveIfError(tz.Connect());
TTime curTime;
curTime.UniversalTime(); //将当前时间转换为UTC时间,不管当前时区是多少,对应的UTC时间是固定的(当然前提是你只改动时区,不改动时间)
tz.ConvertToLocalTime(curTime,*tzid); //转换为上海时间,即+8区时间
TBuf<16> timeBuf;
curTime.FormatL(timeBuf,_L(”%F%Y/%M/%D,%H:%T:%S”)); //timeBuf内容为类似于:2008/07/10,15:31:22
tz.Close();
delete tzid;
注:时区对应的城市可以至http://www.timezoneconverter.com/查询

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值