gpt4 book ai didi

ios - setInt 和 getInt 值改变 Flutter

转载 作者:行者123 更新时间:2023-11-28 20:48:27 28 4
gpt4 key购买 nike

我正在捕获执行操作的日期时间并将其设置在 SharedPreferences 中(prefs 是 SharedPreferences 的一个实例),

prefs.setInt('last_action_date', actionDate.millisecondsSinceEpoch);

打印保存的值时,我得到 1579117670122 (2020-01-15 11:47:50.122384)然后访问它,

prefs.getInt('last_action_date');

但是当我打印该值时,它已变为 1579109000664(2020-01-15 09:23:20.664)。

当使用的手机与我的服务器处于同一时区时,代码会按预期工作,但在这种情况下,当我将手机移回 PST 时,它会更改保存的值。

非常感谢所有帮助。

最佳答案

我建议您保存日期字符串而不是自纪元以来的毫秒数。时区是最糟糕的,并且很难解释它们。但是,如果您另存为 ISO 日期字符串,则时区会直接编码到字符串中。您可以通过以下方式完成此操作:

SharedPreferences prefs = await SharedPreferences.getInstance();
prefs.setString('my-date-key', new DateTime.now().toIso8601String());

这会将类似 2020-01-15T12:30-02:00 的字符串保存到您的共享首选项中,并考虑时区。

关于ios - setInt 和 getInt 值改变 Flutter,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59758768/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com