Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/qt/7.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
Javascript 创建自定义年份,与日历年不同?JS/QML_Javascript_Qt_Date_Qml - Fatal编程技术网

Javascript 创建自定义年份,与日历年不同?JS/QML

Javascript 创建自定义年份,与日历年不同?JS/QML,javascript,qt,date,qml,Javascript,Qt,Date,Qml,我试图将一年中的“第一天”和“最后一天”(通常为1/01/yyyy-31/12/yyyy)更改为我自己定义的日期,即: 第一天:01/04/yyyy(4月1日) 最后一天:31/03/yyyy(3月31日) 我在这里发现了一个类似的问题/答案: 答案是: var todayDate = new Date(); //18/05/19 var FYFirst = todayDate.getFullYear(); //2019 if (todayDate.getMonth

我试图将一年中的“第一天”和“最后一天”(通常为1/01/yyyy-31/12/yyyy)更改为我自己定义的日期,即:

第一天:01/04/yyyy(4月1日)

最后一天:31/03/yyyy(3月31日)

我在这里发现了一个类似的问题/答案:

答案是:

var todayDate = new Date();             //18/05/19
var FYFirst = todayDate.getFullYear();  //2019 
if (todayDate.getMonth() < 3) {         // earlier than april
    FYFirst -= 1;
}
var FYLast = FYFirst + 1;
var todayDate=新日期()//18/05/19
var FYFirst=todayDate.getFullYear()//2019
如果(todayDate.getMonth()<3){//早于四月
FYFirst-=1;
}
var FYLast=fylist+1;
但是,如果我的用户正在存储从津贴中提取的日期,我需要将其向前/向后延长至少2年,因此上述代码将是
curryyear(2019年4月1日-2020年3月31日)

还有(目前正在进行,但需要动态进行):

上一年:2017年4月1日-2018年3月31日
上一年度:2018年4月1日-19年3月31日

nextYear:01/04/20-31/03/21
下一年:01/04/21-31/03/22

其中,日期取自保存日期所在年份的
curryyear,nextYear

在本例中,假设用户每年的“津贴”为40,每天计为1,因此在保存日期时,从津贴中扣除1。我有所有的数学工作,但需要一些方法让应用程序知道它是否从今年的'津贴'或明年等扣除,这是写入并存储到一个数据库-所有的数学,这是目前的工作,但滚动无限期没有任何年终

我的问题是

考虑到我的用户存储日期时所需的多年跨度,我将如何扩展上述内容?我正在使用
Felgo
和QML一起构建我的应用程序

您的年度范围似乎是4月1日至次年3月31日。您可以将2019年4月1日至2020年3月31日称为“2019”。您可以创建一个简单的函数,以便从1月1日到3月31日的任何日期都属于上一年,例如:

函数getMySpecialYear(日期){ var yr=date.getFullYear(); var fyStart=新日期(第3年,第1年); 返回日期2018年 新日期(2019年5月1日)//2019年6月1日->2019年
].forEach(date=>console.log(date+'-'+getMySpecialYear(date))您所说的“从津贴中扣除”是什么意思?您打算如何表示新的日期?4月1日应该变成1/1吗,5月1日应该变成1/2吗,3月1日应该变成1/12吗?嗨@selfie我更新了我的问题,增加了一些津贴,希望这有帮助@RobG感谢您的回复,4月1日仍然是1/04/yyyy,但用户津贴的扣减将转到下一年/下一年-我在问题中还进一步扩展了这一点!