1、获取当前日期
DateTime dateTime = DateTime.now();
print(dateTime);
print("${dateTime.year}-${dateTime.month}-${dateTime.day} ${dateTime.hour}:${dateTime.minute}:${dateTime.second}");
打印结果如下所示:
2、获取当前日期的时间戳
DateTime dateTime = DateTime.now();
print(dateTime.millisecondsSinceEpoch);
打印结果如下所示:
3、日期转换成时间戳
DateTime dateTime = DateTime(2024, 03, 12);
print(dateTime.millisecondsSinceEpoch);
4、日期字符串转换成时间戳
print(DateTime.parse("2024-03-12"));
print(DateTime.parse("2024-03-12 10:06:30"));
DateTime dateTime = DateTime.parse("2024-03-12 10:06:30");
print(dateTime.millisecondsSinceEpoch);
5、时间戳转换成日期
DateTime dateTime = DateTime(2024, 03, 12);
int unixtime = dateTime.millisecondsSinceEpoch;
print(DateTime.fromMillisecondsSinceEpoch(unixtime));
6、时间加减
DateTime dateTime = DateTime.now();
print(dateTime);
print(dateTime.add(const Duration(minutes: 30)));
print(dateTime.add(const Duration(minutes: -30)));
上面的代码表示在当前时间的基础上加30分钟和减30分钟,其他同理。
7、选择日期
var dateTime = await showDatePicker(
context: context,
initialDate: DateTime.now(),//初始选择日期
firstDate: DateTime(DateTime.now().year - 100),//开始选择日期
lastDate: DateTime(DateTime.now().year + 100),//结束选择日期
);
效果图如下所示:
如果需要显示中文,需要在GetMaterialApp中加上如下代码
localizationsDelegates: const [
GlobalMaterialLocalizations.delegate,
GlobalWidgetsLocalizations.delegate,
],
supportedLocales: const [
Locale('zh', 'CH'),
Locale('en', 'US'),
],
showDatePicker中可以添加如下代码,也可以不添加
locale:const Locale('zh')
添加后效果图如下所示
8、选择时间
var timeOfDay =
await showTimePicker(context: context, initialTime: TimeOfDay.now());
效果图如下所示: