如何在颤动中仅给出一年中的第几天
How to get date given only the day of year number in flutter
我对 flutter 还很陌生。在 android 中,我可以轻松地使用 Calendar
class 集,使用 cal.set(Calendar.DAY_OF_YEAR, number)
并且它将 return date
用于特定的 day_of_year
数字。我怎样才能在 Flutter 中做同样的事情。
在Android,这就是我会做的
Calendar cal = Calendar.getInstance();
cal.set(Calendar.DAY_OF_YEAR,1); //set date using day of year
return cal.getTime(); //2020-01-01
我如何在 Flutter 中实现它。
我只是为了好玩才试了一下,我通常不玩 Dart,如果有误,请见谅!
var dayOfYear = 1;
var millisInADay = Duration(days: 1).inMilliseconds; // 86400000
var millisDayOfYear = dayOfYear * millisInADay;
var millisecondsSinceEpoch = DateTime(DateTime.now().year).millisecondsSinceEpoch;
var dayOfYearDate = DateTime.fromMillisecondsSinceEpoch(millisecondsSinceEpoch + millisDayOfYear);
- 一年中的第几天 == 1。
- 当一天有 86400000 毫秒时。
- 那么当年有86400000毫秒(1 x 86400000)。
为一年的第一天创建一个新日期。
将年份中的毫秒数添加到自纪元以来到年初的毫秒数。使用自纪元以来的毫秒数创建新日期。
参考:
https://api.dart.dev/stable/2.7.1/dart-core/DateTime-class.html
我对 flutter 还很陌生。在 android 中,我可以轻松地使用 Calendar
class 集,使用 cal.set(Calendar.DAY_OF_YEAR, number)
并且它将 return date
用于特定的 day_of_year
数字。我怎样才能在 Flutter 中做同样的事情。
在Android,这就是我会做的
Calendar cal = Calendar.getInstance();
cal.set(Calendar.DAY_OF_YEAR,1); //set date using day of year
return cal.getTime(); //2020-01-01
我如何在 Flutter 中实现它。
我只是为了好玩才试了一下,我通常不玩 Dart,如果有误,请见谅!
var dayOfYear = 1;
var millisInADay = Duration(days: 1).inMilliseconds; // 86400000
var millisDayOfYear = dayOfYear * millisInADay;
var millisecondsSinceEpoch = DateTime(DateTime.now().year).millisecondsSinceEpoch;
var dayOfYearDate = DateTime.fromMillisecondsSinceEpoch(millisecondsSinceEpoch + millisDayOfYear);
- 一年中的第几天 == 1。
- 当一天有 86400000 毫秒时。
- 那么当年有86400000毫秒(1 x 86400000)。
为一年的第一天创建一个新日期。
将年份中的毫秒数添加到自纪元以来到年初的毫秒数。使用自纪元以来的毫秒数创建新日期。
参考:
https://api.dart.dev/stable/2.7.1/dart-core/DateTime-class.html