Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/ios/96.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android 如何在flatter中只给出一年中的日期_Android_Ios_Date_Flutter_Calendar - Fatal编程技术网

Android 如何在flatter中只给出一年中的日期

Android 如何在flatter中只给出一年中的日期,android,ios,date,flutter,calendar,Android,Ios,Date,Flutter,Calendar,我是个新手。在android中,我可以使用Calendar类集使用cal.set(Calendar.DAY\u OF u YEAR,number)轻松使用Calendar,它将返回特定DAY\u OF u YEARnumber的日期。我怎样才能在颤振中做同样的事情 在安卓系统中,我会这么做 Calendar cal = Calendar.getInstance(); cal.set(Calendar.DAY_OF_YEAR,1); //set date using day of year re

我是个新手。在android中,我可以使用
Calendar
类集使用
cal.set(Calendar.DAY\u OF u YEAR,number)
轻松使用
Calendar,它将返回特定
DAY\u OF u YEAR
number的
日期。我怎样才能在颤振中做同样的事情

在安卓系统中,我会这么做

Calendar cal = Calendar.getInstance();
cal.set(Calendar.DAY_OF_YEAR,1);  //set date using day of year
return cal.getTime(); //2020-01-01

如何在Flutter中实现这一点

我这样做是为了好玩,我通常不做飞镖,如果错了,我道歉

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)
  • 为一年中的第一天创建新日期

  • 将一年中的毫秒数与自新纪元起的年初的毫秒数相加。使用此自历元起的毫秒数创建新日期

参考:


试试看,这确实有帮助(搜索dart/dartlang,而不是Flitter)非常感谢,它奏效了。有趣的是,Dart中1月1日的dayOfYear为0。所以我一年中的第一天是0。谢谢