如何只在时间转换日期和时间?

开发

我通过 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

这里的解析方法:

应该对您有帮助的子字符串:在此处输入链接描述

RegExp 应该可以帮助您:在此处输入链接描述

这里有一个例子:

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]

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章