我在文档中看到的只是Datetime.now()但它返回Timespan,我只需要日期。
谢谢。
答案 0 :(得分:14)
从now
创建一个新日期,只包含您需要的部分:
DateTime now = new DateTime.now();
DateTime date = new DateTime(now.year, now.month, now.day);
答案 1 :(得分:7)
您可以将当前日期作为
final now = new DateTime.now();
String formatter = DateFormat('yMd').format(now);// 28/03/2020
问:问。您是否想知道如何记住日期格式(DateFormat('yMd')
)?
A。=>那么Flutter Docs就是答案
DateFormat class允许用户从一组标准日期时间格式中进行选择,以及在某些语言环境下指定自定义模式。直接从文档中获取
ICU Name Skeleton
-------- --------
DAY d
ABBR_WEEKDAY E
WEEKDAY EEEE
ABBR_STANDALONE_MONTH LLL
STANDALONE_MONTH LLLL
NUM_MONTH M
NUM_MONTH_DAY Md
NUM_MONTH_WEEKDAY_DAY MEd
ABBR_MONTH MMM
ABBR_MONTH_DAY MMMd
ABBR_MONTH_WEEKDAY_DAY MMMEd
MONTH MMMM
MONTH_DAY MMMMd
MONTH_WEEKDAY_DAY MMMMEEEEd
ABBR_QUARTER QQQ
QUARTER QQQQ
YEAR y
YEAR_NUM_MONTH yM
YEAR_NUM_MONTH_DAY yMd
YEAR_NUM_MONTH_WEEKDAY_DAY yMEd
YEAR_ABBR_MONTH yMMM
YEAR_ABBR_MONTH_DAY yMMMd
YEAR_ABBR_MONTH_WEEKDAY_DAY yMMMEd
YEAR_MONTH yMMMM
YEAR_MONTH_DAY yMMMMd
YEAR_MONTH_WEEKDAY_DAY yMMMMEEEEd
YEAR_ABBR_QUARTER yQQQ
YEAR_QUARTER yQQQQ
HOUR24 H
HOUR24_MINUTE Hm
HOUR24_MINUTE_SECOND Hms
HOUR j
HOUR_MINUTE jm
HOUR_MINUTE_SECOND jms
HOUR_MINUTE_GENERIC_TZ jmv
HOUR_MINUTE_TZ jmz
HOUR_GENERIC_TZ jv
HOUR_TZ jz
MINUTE m
MINUTE_SECOND ms
SECOND s
/// Examples Using the US Locale:
/// Pattern Result
/// ---------------- -------
new DateFormat.yMd() -> 7/10/1996
new DateFormat('yMd') -> 7/10/1996
new DateFormat.yMMMMd('en_US') -> July 10, 1996
new DateFormat.jm() -> 5:08 PM
new DateFormat.yMd().add_jm() -> 7/10/1996 5:08 PM
new DateFormat.Hm() -> 17:08 // force 24 hour time
现在希望您可以使用上述格式获得所需的任何日期格式。
答案 2 :(得分:2)
核心库中没有类来模拟日期和时间。您必须使用new DateTime.now()
。
请注意,日期取决于时区:巴黎的2016-01-20 02:00:00
与西雅图的2016-01-19 17:00:00
相同,但天不一样。
答案 3 :(得分:1)
如果您只想要没有时间戳的日期。你可以借助intl包。
main() {
var now = new DateTime.now();
var formatter = new DateFormat('yyyy-MM-dd');
String formattedDate = formatter.format(now);
print(formattedDate); // 2016-01-25
}
这需要intl包
答案 4 :(得分:0)
如果您希望基于GünterZöchbauer的答案更简洁,更简单的单行格式,还可以编写:
DateTime dateToday = DateTime(DateTime.now().year, DateTime.now().month, DateTime.now().day) ;
尽管它将对DateTime.now()进行3次调用,但不需要额外的变量,尤其是与Dart三元运算符或在Flutter UI代码块中一起使用时。
答案 5 :(得分:0)
首先转到pub.dev并获取intl包并将其添加到您的项目中。
DateFormat.yMMMMd()。format(您要呈现的日期。但必须具有DateTime类型)
答案 6 :(得分:0)
import 'package:intl/intl.dart';
getCurrentDate() {
return DateFormat('yyyy-MM-dd – kk:mm').format(DateTime.now());
}
答案 7 :(得分:0)
这不使用任何包(它将转换为字符串)
DateTime dateToday =new DateTime.now();
String date = dateToday.toString().substring(0,10);
print(date); // 2021-06-24
答案 8 :(得分:0)
您可以使用 DateFormat 将日期时间格式化为字符串
import 'package:intl/intl.dart';
final DateFormat formatter = DateFormat('MM/dd/yyyy');
String createDate = formatter.format(DateTime.now());
答案 9 :(得分:-2)
在DateTime.now()中使用“天”