Flutter应用如何获取实时时间?DateTime.timestamp()与设备时间不符
Flutter中DateTime.timestamp()时间与设备本地时间不符的解决方案
DateTime.timestamp()返回的是UTC标准时间,而你的Galaxy A20s显示的是本地时区时间,两者的时区偏移导致了时间差(比如你遇到的11:23 UTC对应15:51本地时间,差4小时,应该是东四区时区)。
解决方法有两种:
- 把UTC时间转成本地时区时间:调用
toLocal()方法即可得到和设备显示一致的时间DateTime correctLocalTime = DateTime.timestamp().toLocal(); - 直接获取本地时间:如果不需要UTC时间,直接用
DateTime.now(),它默认返回设备所在时区的本地时间DateTime correctLocalTime = DateTime.now();
如果要做未来时间计算,建议统一使用本地时间进行操作,避免时区混淆导致计算结果偏差。
内容的提问来源于stack exchange,提问作者Sulaiman Fazli
相关产品推荐
相关产品推荐

