当前位置: 首页 > 知识库问答 >
问题:

颤动:如何更改日期时间格式与字符串中的mounth?

严言
2023-03-14

你好,我没有成功以这种格式输出此代码(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));

共有1个答案

屠德宇
2023-03-14

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

import 'package:intl/intl.dart';

DateTime now = DateTime.now();
String formattedDate = DateFormat("dMMMMy")format(now);
print(formattedDate);

根据您的需求,您可以查看日期格式

一些取自 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`
});
 类似资料:
  • 我正在颤振中创建一个表单,其中一个字段是出生日期。我使用了日期时间选择器来选择日期并显示输出。我想格式化我得到的日期,只显示月份、日期和年份。以下是当前的日期格式。我希望它的格式为。这是我想出的代码

  • 我的数据帧有一个列(示例格式),默认情况下转换为Pandas数据类型“object”。 使用< code > df[' DOB ']= PD . to _ datetime(df[' DOB '])将此转换为日期格式,日期将转换为:< code>2016-01-26,其< code>dtype为:< code>datetime64[ns]。 现在,我想将此日期格式转换为< code>01/26/2

  • 我有一个变量,它包含以下值: 我目前正在使用以下代码将其格式化为字符串:.使用此代码,我得到以下值: 我需要这个更准确。我想要得到的精确值在以下精度范围内: 我在以下链接上做了一些研究:http://www.w3.org/TR/NOTE-datetime 以下是我的发现: 此配置文件没有指定可以使用多少位数来表示每秒的小数部分。允许分数秒的采用标准必须规定最小位数(大于或等于一的数字)和最大位数(

  • 我有一个格式化的字符串日期 2020/04/16 (年/月/日) 我想把这个字符串解析成日期时间 显然不起作用,没有正确的日期格式。 有人知道把这个字符串解析成日期时间的最好方法是什么吗?

  • 问题内容: 当使用日志包时,Go输出类似 如何将日期和时间格式更改为类似的格式?示例(操场链接): 问题答案: 就像yed posterior所说,您可以通过实现write函数来定义自定义io.Writer。您可能还想做一个log.SetFlags(0)来完全控制。这是一个更改日期格式以及添加一些日志级别信息的示例。 输出: 2016-03-21T19:54:28.563Z [DEBUG]这已被记

  • 问题内容: DOB列样本值的格式- 默认情况下会转换为对象,如下所示 转换为日期格式 日期转换为 是 现在,我想将此日期格式转换为任何其他通用日期格式或。我该怎么做? 无论我尝试哪种方法,它总是以格式显示日期。 问题答案: 如果需要转换为其他格式,可以使用(但请注意,列的则为):