大佬教程收集整理的这篇文章主要介绍了有没有办法在 Qt 中用时区解析时间?,大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
我需要解析像 '09:21:15 EST' 这样的字符串(其中 EST 是美国东部时区),以便关于夏令时/冬令时(夏令时)的信息是正确的,以便 UTC−05 :00 用于冬季日期,UTC−04:00 用于夏季日期。
还需要支持直接设置UTC偏移量——'09:21:15 UTC-04:00',这种情况下不应采用夏令时。
我在 Qt 文档中没有找到关于 QDateTime、QDate、QTime、QTimeZone 等的任何可理解和合理的内容。
有没有简单的方法可以解决这个问题?
一般来说,在任何语言中,你的要求都无法可靠地完成。
EST
不是时区。它是时区 aspect 的英文缩写。HNE
用于加拿大法语区(例如蒙特利尔)。CST
可以是中部标准时间、古巴标准时间或中国标准时间。"America/New_York"
。 QTimeZone
可以处理这些。-05:00
。您可以在使用 QDateTime
时设置偏移量。"EST" == -5
、"EDT" == -4
、"CST" == -6
、"CDT" == -5
等。但它只能将缩写映射到offset,而不能映射到时间区。 (另请参阅 the timezone tag wiki 中的“时区 != 偏移量”。)Qt 可能已经实现了您需要的功能。
使用 QDateTime::fromString
,您可以在 remaining = fsize
while remaining > 0:
msg = fd.read(1000)
len = len(msg)
sock.sendall(msg)
remaining -= len
字符串中使用 while (file size > 0)
block length = read in at most 1000 bytes from the file opened
send the block to server
file size -= block length
来标记时区字符。
也看看这个问题:Qt QDateTime from string with timezone and daylight saving
您可以在那里获得一个示例,该示例表明您需要 t
规范中的 format
才能处理夏令时。
但是,QDateTime::offsetFromUtc
取决于 QDateTime
的当前规范...
我想,在比较 LocalTime
以上是大佬教程为你收集整理的有没有办法在 Qt 中用时区解析时间?全部内容,希望文章能够帮你解决有没有办法在 Qt 中用时区解析时间?所遇到的程序开发问题。
如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。
本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。