0
A
回答
0
是的,没有。你是正确的,Qt::OffsetFromUTC
为您提供当前使用价值。
但是,这将改变给定的夏令时间的规则,你所在的时区这是一个长期拖欠(尚未实施)要求全时区支持添加到QDateTime
:
http://bugreports.qt-project.org/browse/QTBUG-71
即现在,如果您在法国使用设备并要求UTC抵消,则会获得一个小时,但在三月份切换到DST时将会变为两个小时。请记住这一点。
0
下面是一个函数,它返回任何时区的UTC/GMT偏移量。对于负的UTC偏移量,您必须重写此函数并检查布尔值“isNegative”。我用它来发送请求到服务器,如果我想检查它不是时钟向前或向后移动的那一天,我只需要调用两次函数,一次使用今天的日期,然后使用明天的日期。如果他们都返回相同的,那么我们知道时钟在夏令时的24小时内不会切换。
QTime Calendar::getTimeZoneDiff(QDateTime midnightDateTime, bool &isNegative) {
midnightDateTime.setTime(QTime(0,0));
QDateTime utc = midnightDateTime.toUTC();
QDateTime local = midnightDateTime;
local.setTimeSpec(Qt::LocalTime);
QDateTime offset = local.toUTC();
QTime properTimeOffset = QTime(offset.time().hour(), offset.time().minute());
offset.setTimeSpec(Qt::LocalTime);
utc.setTimeSpec(Qt::UTC);
if(offset.secsTo(utc) < 0){
isNegative = true;
}else{
isNegative = false;
properTimeOffset.setHMS(24 - properTimeOffset.hour() - (properTimeOffset.minute()/60.0) - (properTimeOffset.second()/3600.0), properTimeOffset.minute() - (properTimeOffset.second()/60.0), properTimeOffset.second());
if(!properTimeOffset.isValid()){ //Midnight case
properTimeOffset.setHMS(0,0,0);
}
}
return properTimeOffset;
}
我的解决方案还张贴在这里:Timezone offset
相关问题
- 1. 如何获得__TIME__的UTC偏移量?
- 2. 如何获得内存偏移量?
- 3. 如何在logstash中获得偏移量?
- 4. iPhone - 如何获得时区偏移量?
- 5. 从经纬度计算GMT偏移量
- 6. Etc/GMT +(偏移量)仅提供GMT的PHP
- 7. 在C中获取时区GMT偏移
- 8. 在javascript中获取客户端的GMT偏移量
- 9. 如何为所有设备设置加速度计偏移量?
- 10. 如何获得时区(从GMT偏移)并在android中转换为double
- 11. 在JS中获取客户端时区(不是GMT偏移量)
- 12. PHP根据GMT偏移量获取当前本地时间
- 13. 如何获得kafka的最新偏移
- 14. 如果已知偏移量,如何获得结构的成员?
- 15. 如何设置到PHAsset.fetchAssets的偏移量?
- 16. 如何获得具有别名的列的MySQL偏移量?
- 17. 如何获得当前的ScrollView的Y偏移量
- 18. 如何获得时区偏移值
- 19. 如何获得时区偏移为±hh:mm?
- 20. 如何获得枚举成员的字节偏移量?
- 21. 如何获得一个元素的正确偏移量? - jQuery
- 22. 如何获得Flash中文件的偏移量
- 23. 如何获得wp7中scrollview的最大偏移量?
- 24. Java 8 ZoneOffset - 如何获得当前系统的UTC偏移量
- 25. 如何获得RadDataBoundListBox中的滚动偏移量?
- 26. 如何获得MySQL中特定行的偏移量?
- 27. 如何获得Javascript中整个div的范围偏移量?
- 28. 如何获得相对于特定父级的偏移量?
- 29. 如何在Rails 2.3中获得正确的时区偏移量?
- 30. 如何为RichMarker设置偏移量?
我认为,新的链接现在是https://bugreports.qt-project.org/browse/QTBUG-29666 – Vadi 2013-09-10 07:30:28