如何在Dart/Flutter中将DateTime字符串转换为秒数?
Dart:将ISO时间字符串转换为秒/分钟数
要把你提供的ISO格式时间字符串转换成秒数或分钟数,步骤很直接:
- 解析字符串为DateTime对象
Dart的DateTime.parse()方法可以直接识别这种带Z的UTC时间格式,无需额外配置:
String x = "2022-09-29T07:26:52.000Z"; DateTime dateTime = DateTime.parse(x);
- 转换为秒数
直接使用DateTime的secondsSinceEpoch属性,就能得到从Unix纪元(1970-01-01 00:00:00 UTC)到目标时间的总秒数:
int totalSeconds = dateTime.secondsSinceEpoch; print(totalSeconds); // 输出:1664431612
- 转换为分钟数
将秒数做整数除法除以60,得到总分钟数:
int totalMinutes = totalSeconds ~/ 60; print(totalMinutes); // 输出:27740526
如果需要和你给出的反向操作逻辑对齐,基于毫秒数计算的话,也可以用millisecondsSinceEpoch属性先获取毫秒数再转换:
int milliseconds = dateTime.millisecondsSinceEpoch; int secondsFromMs = milliseconds ~/ 1000; int minutesFromMs = milliseconds ~/ (1000 * 60);
内容的提问来源于stack exchange,提问作者Flochristos
相关产品推荐
相关产品推荐

