Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/date/2.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
Date 在DART(颤振)中,如何将最接近30分钟间隔的日期时间取整?_Date_Datetime_Flutter_Dart - Fatal编程技术网

Date 在DART(颤振)中,如何将最接近30分钟间隔的日期时间取整?

Date 在DART(颤振)中,如何将最接近30分钟间隔的日期时间取整?,date,datetime,flutter,dart,Date,Datetime,Flutter,Dart,我想把DateTime四舍五入到最接近的30分钟。DART中是否提供舍入机制?此功能将日期时间转换为时钟中最接近的30分钟标记。请注意,此30分钟标记是针对运行此代码的机器的本地时区获得的 DateTime roundwithin 30分钟(DateTime d){ 最终int deltaMinute; 如果(d.分钟

我想把DateTime四舍五入到最接近的30分钟。DART中是否提供舍入机制?

此功能将日期时间转换为时钟中最接近的30分钟标记。请注意,此30分钟标记是针对运行此代码的机器的本地时区获得的

DateTime roundwithin 30分钟(DateTime d){
最终int deltaMinute;
如果(d.分钟<15){
deltaMinute=-d.minute;//返回到零
}否则,如果(d.分钟<45){
deltaMinute=30-d.minute;//转到30分钟
}否则{
deltaMinute=60-d.min;
}
返回d.add(持续时间(
毫秒:-d.毫秒,
//将毫秒重置为零
微秒:-d.微秒,
//将微秒重置为零,
秒:-d.second,
//将秒数重置为零
会议记录:deltaMinute);
}

如果您在另一个偏移持续时间不是30分钟倍数的非本地时区(例如:尼泊尔时区为GMT+5:45)中显示此
DateTime
,则此实现将不起作用

是否有帮助:谢谢,但此功能不会进行取整。假设现在是7点40分,那么7点30分。我需要总结到8:00,这在另一篇文章中得到了回答,希望它是heps