flutter - 如何仅在时间转换日期和时间?
问题描述
我通过 API 获得有关时间和日期的此类数据,2021-09-05T18:16:47.790601+02:00
我如何才能从这里获得几个小时?
解决方案
从 API 你得到一个格式化的日期并且只想得到小时。
首先,您最好从 API 获取具有如下时间戳格式的 UNIX 日期(如果可用):https ://www.unixtimestamp.com
你的第一个问题会更多:
如何从原始日期获取时间戳以获取小时
或者
如何解析字符串以获取小时。
这里的格式化方法:
DateTime 应该可以帮助你:https ://api.flutter.dev/flutter/dart-core/DateTime-class.html
这里有一个例子:
final DateTime myDate = DateTime.parse('2021-09-05 18:16:47');
final int hour = myDate.hour;
final int minute = myDate.minute;
final int second = myDate.second;
print('hour: $hour');
print('minute: $minute');
print('second: $second');
结果:
hour: 18
minute: 16
second: 47
这里的解析方法:
应该对您有所帮助的子字符串:在此处输入链接描述
应该可以帮助您的正则表达式:在此处输入链接描述
这里有一个例子:
const String myDate = '2021-09-05T18:16:47.790601+02:00';
final String hour = myDate.substring(11, 13);
final String minute = myDate.substring(14, 16);
final String second = myDate.substring(17, 19);
final String date = RegExp(r"[0-9]{2}:[0-9]{2}:[0-9]{2}").stringMatch(myDate).toString();
final List<String> splitDate = date.split(':');
print('hour: $hour');
print('minute: $minute');
print('second: $second');
print('date: $date');
print('split date: $splitDate');
结果:
hour: 18
minute: 16
second: 47
date: 18:16:47
split date: [18, 16, 47]
推荐阅读
- java - 用java获取webp的宽度和高度
- hyperlink - 我们可以在投影仪演示文稿中提供指向圣人工作表的链接吗
- java - Java SOCKS 5 代理身份验证
- python - 确保用户在 Python 中指定两个函数参数中的一个且仅一个的最佳方法
- html - 使画布在画布之外可见
- ios - 是否可以使用 carthage 分发二进制 ios 框架
- excel - VBA 需要清理代码并尽可能简化它
- c# - 循环内的C#列表循环?
- elasticsearch - 为什么当我运行两个 Elasticsearch 实例时,我的索引率几乎翻了一番?
- r - rstudio 速度很慢,下载的文件带有红点和粉红色背景