在本教程中,你会发现有多种方法可以加减年、月、日、小时、分钟或秒。
如何在Dart中为日期添加年月日、小时分或秒的毫秒和微秒
- 首先为当前日期和时间创建一个Date对象
- Date类包含接受Duration对象的方法
DateTime add(Duration duration)
持续时间可以用天、小时、分钟、秒、毫秒和微秒来传递。
下面是一个将持续时间添加到日期中的程序
void main() {
DateTime now = DateTime.now(); // March 2022
var date = new DateTime(now.year, now.month + 1, 0);
print(date); //2022-04-30 00:00:00.000
//add one Year
date = date.add(Duration(days: 365));
print(date); //2023-04-30 00:00:00.000
//add one Month
date = date.add(Duration(days: 30));
print(date); // 2023-05-30 00:00:00.000
//add one day
date = date.add(Duration(days: 1));
print(date); // 2023-05-31 00:00:00.000
//add one hour
date = date.add(Duration(hours: 1));
print(date); // 2023-05-31 01:00:00.000
//add 30 minutes
date = date.add(Duration(minutes: 30));
print(date); //2023-05-31 01:30:00.000
//add 30 seconds
date = date.add(Duration(seconds: 30));
print(date); //2023-05-31 01:30:30.000
//add 40 milliseconds
date = date.add(Duration(milliseconds: 40));
print(date); //2023-05-31 01:30:30.040
//add 1000 microseconds
date = date.add(Duration(microseconds: 1000));
print(date); //2023-05-31 01:30:30.041
}
输出
2022-04-30 00:00:00.000
2023-04-30 00:00:00.000
2023-05-30 00:00:00.000
2023-05-31 00:00:00.000
2023-05-31 01:00:00.000
2023-05-31 01:30:00.000
2023-05-31 01:30:30.000
2023-05-31 01:30:30.040
2023-05-31 01:30:30.041
如何在Dart中为日期减去年月日,小时分钟或秒,毫秒和微秒
- 首先为当前日期和时间创建一个Date对象
- Date类包含接受Duration对象的减法方法
DateTime subtract(Duration duration)
持续时间可以用天、小时、分钟、秒、毫秒和微秒来传递。 下面是一个将持续时间减去日期的程序
void main() {
DateTime now = DateTime.now();
var date = new DateTime(now.year, now.month + 1, 0);
print(date); //2022-04-30 00:00:00.000
//subtract one Year
date = date.subtract(Duration(days: 365));
print(date); //2021-04-30 00:00:00.000
//subtract one Month
date = date.subtract(Duration(days: 30));
print(date); // 2021-03-31 00:00:00.000
//subtract one day
date = date.subtract(Duration(days: 1));
print(date); // 2021-03-30 00:00:00.000
//subtract one hour
date = date.subtract(Duration(hours: 1));
print(date); // 2021-03-29 23:00:00.000
//add 30 minutes
date = date.subtract(Duration(minutes: 30));
print(date); //2021-03-29 22:30:00.000
//subtract 30 seconds
date = date.subtract(Duration(seconds: 30));
print(date); //2021-03-29 22:29:30.000
//subtract 40 milliseconds
date = date.subtract(Duration(milliseconds: 40));
print(date); //2021-03-29 22:29:29.960
//subtract 1000 microseconds
date = date.subtract(Duration(microseconds: 1000));
print(date); //2021-03-29 22:29:29.959
}
输出
2022-04-30 00:00:00.000
2021-04-30 00:00:00.000
2021-03-31 00:00:00.000
2021-03-30 00:00:00.000
2021-03-29 23:00:00.000
2021-03-29 22:30:00.000
2021-03-29 22:29:30.000
2021-03-29 22:29:29.960
2021-03-29 22:29:29.959