您好,我没有成功以这种格式输出此代码(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);
current outpub : 2019-06-04
expected output : 04 juin 2019
更新:
我尝试格式化,但当我按下按钮时我没有成功更改日期...
这是新代码
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));
最佳答案
您可以尝试使用 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`
});
关于 flutter : How to change format dateTime with mounth in String?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56442392/