您好,我没有以这种格式输出此代码(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);
当前outpub: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));
答案 0 :(得分:4)
您可以尝试使用DateFormat,只需将pubspec.yaml包含intl依赖项
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`
});