Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/flutter/9.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Datetime 在飞镖和颤振中如何将时间四舍五入到最近的一刻钟?_Datetime_Flutter_Dart - Fatal编程技术网

Datetime 在飞镖和颤振中如何将时间四舍五入到最近的一刻钟?

Datetime 在飞镖和颤振中如何将时间四舍五入到最近的一刻钟?,datetime,flutter,dart,Datetime,Flutter,Dart,我有一个日期时间,希望四舍五入到15秒(或另一个间隔) e、 g。 “2020-03-16 12:23:53.756” 到 “2020-03-16 12:23:45.000” 及 “2020-03-16 12:24:01.1234” 到 “2020-03-16 12:24:00.000”您可以在Dart和Flatter中执行此操作,并在DateTime上进行扩展: extension on DateTime{ DateTime roundDown({Duration delta = con

我有一个日期时间,希望四舍五入到15秒(或另一个间隔)

e、 g。 “2020-03-16 12:23:53.756” 到 “2020-03-16 12:23:45.000”

及 “2020-03-16 12:24:01.1234” 到
“2020-03-16 12:24:00.000

您可以在Dart和Flatter中执行此操作,并在DateTime上进行扩展:

extension on DateTime{

  DateTime roundDown({Duration delta = const Duration(seconds: 15)}){
    return DateTime.fromMillisecondsSinceEpoch(
        this.millisecondsSinceEpoch -
        this.millisecondsSinceEpoch % delta.inMilliseconds
    );
  }
}
用法:

DateTime roundedDateTime = DateTime.now().roundDown();
print(roundedDateTime);
输出:“2020-03-16 12:23:45.000”


输出:“2020-03-16 12:00:00.000”

以上答案的补充(请记住为分机指定一个名称,注意不要使用此名称。):

DateTime roundedDateTime = DateTime.now().roundDown(delta: Duration(hour: 1));
print(roundedDateTime);
extension DateTimeExtension on DateTime {
  DateTime roundDown({Duration delta = const Duration(days: 1)}) {
    return DateTime.fromMillisecondsSinceEpoch(
        millisecondsSinceEpoch - millisecondsSinceEpoch % delta.inMilliseconds);
  }
}