【发布时间】:2020-10-07 00:30:48
【问题描述】:
我在使用颤振共享首选项时遇到了一个奇怪的问题, 我正在尝试将 DateTime.Now() 对象设置为这样的共享首选项
void setStartTimeDataToPrefs() async {
prefs = await SharedPreferences.getInstance();
prefs.setString(_prefsStartTime, DateTime.now().toString());
print('Getting soon after setting in same function ${prefs.getString(_prefsStartTime)}');
//Here im getting the value correct as 2020-06-17 11:32:17.548524
}
为了测试当我从同一函数设置后立即读取密钥时,我将预期结果日期转换为字符串
2020-06-17 13:32:17.548524
问题是当我尝试从像这样的另一个函数中读取密钥时,
void getStartTimeDataFromPrefs() async {
prefs = await SharedPreferences.getInstance();
print('${prefs.getString(_prefsStartTime)}');
}
它给了我这个结果
下午 1:32:17
知道偏好数据是如何变化的吗?日期如何像 DateFormat.jms() 一样被格式化
还试图理解为什么相同的代码在不同的函数中以两种不同的方式表现。当我在第一个函数中读取它时它具有正确的值?
【问题讨论】:
-
我试过你的代码,set方法和get方法给了我同样的结果:2020-06-17 11:00:27.533554
-
也许它对我来说是本地的,只是想看看是否有人曾经遇到过这个问题。谢谢回复
标签: flutter dart sharedpreferences