You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Flutter中如何获取指定日期?获取前一天日期并转字符串方法

Dart:获取当前日期、前一天日期并转为字符串
  • 获取当前日期
    你已经写了基础代码,Dart里new关键字可以省略,简化后:

    DateTime now = DateTime.now();
    
  • 计算前一天日期
    利用DateTime的subtract方法,减去时长为1天的Duration即可:

    DateTime yesterday = now.subtract(const Duration(days: 1));
    
  • 转换为字符串
    分三种常用场景:

    1. 默认格式(带时间)
      直接调用toString(),输出格式类似2024-05-20 15:40:22.345:
      String nowStr = now.toString();
      String yesterdayStr = yesterday.toString();
      
    2. 自定义纯日期格式(如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);
      
    3. 复杂格式化(如带星期、地区化格式)
      可以使用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

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.11 13:45:32