Flutter中如何获取指定日期?获取前一天日期并转字符串方法
Dart:获取当前日期、前一天日期并转为字符串
获取当前日期
你已经写了基础代码,Dart里new关键字可以省略,简化后:DateTime now = DateTime.now();计算前一天日期
利用DateTime的subtract方法,减去时长为1天的Duration即可:DateTime yesterday = now.subtract(const Duration(days: 1));转换为字符串
分三种常用场景:- 默认格式(带时间)
直接调用toString(),输出格式类似2024-05-20 15:40:22.345:String nowStr = now.toString(); String yesterdayStr = yesterday.toString(); - 自定义纯日期格式(如
yyyy-MM-dd)
手动提取年月日并拼接,保证月份、日期为两位数字:String formatToDateStr(DateTime date) { return '${date.year}-${date.month.toString().padLeft(2, '0')}-${date.day.toString().padLeft(2, '0')}'; } String nowDateStr = formatToDateStr(now); String yesterdayDateStr = formatToDateStr(yesterday); - 复杂格式化(如带星期、地区化格式)
可以使用intl包,先在pubspec.yaml添加依赖,再通过DateFormat实现:import 'package:intl/intl.dart'; String nowFullStr = DateFormat('yyyy-MM-dd HH:mm:ss EEEE').format(now); String yesterdayDateStr = DateFormat('yyyy/MM/dd').format(yesterday);
- 默认格式(带时间)
内容的提问来源于stack exchange,提问作者Omar Ramadan
相关产品推荐
相关产品推荐

