【问题标题】:Flutter : How to change format dateTime with mounth in String?Flutter:如何用字符串中的月份更改日期时间格式?
【发布时间】:2019-10-19 21:30:07
【问题描述】:

您好,我没有成功以这种格式输出此代码(2019 年 6 月 4 日)

var now = new DateTime.now();
var daysfromnow = now.add(new Duration(days: changedate));

RegExp regExp = new RegExp(       
    r"(^\S*)",
);

var match = regExp.firstMatch("$daysfromnow");
daysfromnow_modify = match.group(1);

当前发布时间:2019-06-04

预计产出:2019 年 6 月 4 日

更新:

我尝试格式化,但按下按钮时没有成功更改日期...

这是新代码

     new IconButton(
              icon: Icon(Icons.keyboard_arrow_left),

              onPressed: () {
        setState(() {
          changedate--;
          DateTime now = DateTime.now();
          formattedDate = DateFormat.yMMMMd("en_FR").format(now);
          daysfromnow = formattedDate.add(new Duration(days: changedate));  //add can't be a String ...
});
)}

我也试过这个..

 formattedDate = DateFormat.yMMMMd("en_FR").now.add(new Duration(days: changedate));

【问题讨论】:

    标签: flutter


    【解决方案1】:

    您可以尝试使用 DateFormat,只需将 intl 依赖项包含到您的 pubspec.yaml 中

    import 'package:intl/intl.dart';
    
    DateTime now = DateTime.now();
    String formattedDate = DateFormat("dMMMMy")format(now);
    print(formattedDate);
    

    根据你的要求,可以看DateFormat

    从 DateFormat 类中提取的一些示例可以帮助您更多。

    String formattedDate = DateFormat.yMd(); // 7/10/1996
    String formattedDate = DateFormat("yMd"); // 7/10/1996
    String formattedDate = DateFormat.yMMMMd("en_US"); // July 10, 1996
    String formattedDate = DateFormat.yMMMMd("en_FR"); // 10 July 1996 // Locale French
    

    更新

    首先将值添加到日期,然后调用格式。

    例子:

    setState(() {
        changedate--;
        var now = DateTime.now(); // Current Date
        var daysFromNow = now.add(new Duration(days: changedate); // Assuming this is the date you want (Variable is unclear)
    
        String formattedDate = DateFormat.yMMMMd('en_FR').format(daysFromNow);
        print(formattedDate);
    
       // daysfromnow = formattedDate // This cannot exist due to the formattedDate is a `String`
    });
    

    【讨论】:

    • 谢谢我试过了,但现在我不能使用 var daysfromnow = now.add(new Duration(days: changedate));当我按下按钮时,我使用此代码来增加或减少天数我试图添加它但是“添加不能是字符串 daysfromnow = formattedDate.add(new Duration(days: changedate));
    猜你喜欢
    • 2014-12-04
    • 1970-01-01
    • 2018-01-13
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-06-27
    相关资源
    最近更新 更多