Datetime currentTime issue



我有一个这样的代码:

onPressed: isClick
? () async {
isClick = false;
final DateTime dateCreated = DateTime.now();
setState(() {
dateCreated;
});
final userIp = await UserService.getIp();
final user = User(
name: _nameController.text,
surname: _surnameController.text,
email: _emailController.text,
year: _selectedValue,
dateCreated: DateFormat('dd/MM/y - HH:mm:ss').format(dateCreated),
ipAddress: userIp);
hasInternet = await InternetConnectionChecker().hasConnection;
await UserService.insert([user.toJson()]);
if (hasInternet) {
showToast(StringConstants.registerOkayText, duration: 2, gravity: Toast.bottom);
} else {
showToast(StringConstants.registerNotOkayText, duration: 5, gravity: Toast.bottom);
}
}
: null,

现在的时间是16.15,但代码将时间打印为13.14。我该如何解决这个问题?GMT?

如果你想要移动时间并想要格式化,只需使用这个插件intl:^0.17.0

DateTime currentDate = DateTime.now();
String s = DateFormat('yyyy-MM-dd').format(DateFormat('yyyy-MM-dd').parse(date));

在搅拌中,您将获得当前日期

或者,如果您想获得当前的上网时间,只需使用

ntp:^2.0.0

final int offset = await NTP.getNtpOffset(
localTime: DateTime.now(), lookUpAddress: "time.google.com");
DateTime internetTime =
DateTime.now().add(Duration(milliseconds: offset));

在这里,您将获得internetTime中的当前时间和日期

您获取日期时间的代码对我来说很好。它应该会给您计算机的当前本地时间。很明显,这可能是由于你电脑的时间设置。请检查是否配置为不同的时区,或者可能是VPN检查VPN的时区。试试这个,看看你电脑的时区是多少。print(dateTime.timeZoneName(;打印(dateTime.timeZoneOffset(;

问题是因为我用来编辑时间格式的flutter包。当我删除包并将其从代码中删除并运行时,我的问题得到了解决。

最新更新