我正在尝试新的Google Dart语言而且我不知道如何获得当月的最新一天?
这给了我当前的日期:
var now = new DateTime.now();
答案 0 :(得分:22)
为下个月提供零日值会为您提供上个月的最后一天
var date = new DateTime(2013,3,0);
print(date.day); // 28 for February
答案 1 :(得分:5)
这是找到它的一种方法:
var now = new DateTime.now();
// Find the last day of the month.
var beginningNextMonth = (now.month < 12) ? new DateTime(now.year, now.month + 1, 1) : new DateTime(now.year + 1, 1, 1);
var lastDay = beginningNextMonth.subtract(new Duration(days: 1)).day;
print(lastDay); // 28 for February
我有当前日期,所以我构建了下个月的第一天,然后从中减去一天。我也考虑了今年的变化。
更新:这是同样的事情的一些简短的代码,但灵感来自Chris的零技巧:
var now = new DateTime.now();
// Find the last day of the month.
var lastDayDateTime = (now.month < 12) ? new DateTime(now.year, now.month + 1, 0) : new DateTime(now.year + 1, 1, 0);
print(lastDayDateTime.day); // 28 for February
如果您想以编程方式执行此操作(例如,您将特定月份作为整数),则它具有附加检查/代码。
答案 2 :(得分:1)
轻松尝试:
DateTime now = DateTime.now();
int lastday = DateTime(now.year, now.month + 1, 0).day;
答案 3 :(得分:0)