gpt4 book ai didi

Javascript日期,月份解析问题的最后一天

转载 作者:行者123 更新时间:2023-11-30 17:37:06 24 4
gpt4 key购买 nike

我看过一些关于这个的帖子,但没有一个是我从中学到的。

我需要向 REST API 发送特定的日期时间戳,它需要如下所示:

2014-01-17 00:00:00.000

所以我需要两个,一个用于当前月份的第一天,一个用于当前月份的最后一天,所以像这样:

2014-02-01 00:00:00.000

2014-02-28 00:00:00.000

我使用了以下代码:

var date = new Date(),
y = date.getFullYear(),
m = date.getMonth(),
firstDay = new Date(y, m, 1),
lastDay = new Date(y, m + 1, 0),
querydate = '"_createdAt" : {"$gt" : "' +
y + '-' + m + '-' + firstDay + ' 00:00:00.000" , "$lt" : "' +
y + '-' + m + '-' + lastDay + ' 00:00:00.000"}';

但这是我通过浏览器上的开发模式获得的输出:

"_createdAt" : {"$gt" : "2014-1-Sat Feb 01 2014 00:00:00 GMT+0000 (GMT) 00:00:00.000" , "$lt" : "2014-1-Fri Feb 28 2014 00:00:00 GMT+0000 (GMT) 00:00:00.000"}}

如您所见,它给出了正确的年份,但月份需要是两位数,并且对于最后一天和第一天,它给出了完整的日期。

有什么办法可以解决这个问题吗?

最佳答案

现在看到与其他帖子的相似之处了吗?

Javascript

function padLeft(arg) {
if (arg < 10) {
arg = '0' + arg;
}

return arg;
}

function myFormat(dateObject) {
return [
dateObject.getFullYear(),
padLeft(dateObject.getMonth() + 1),
padLeft(dateObject.getDate())
].join('-') + ' 00:00:00.000';
}

var date = new Date(),
y = date.getFullYear(),
m = date.getMonth(),
firstDay = new Date(y, m, 1),
lastDay = new Date(y, m + 1, 0),
querydate = '"_createdAt" : {"$gt" : "' +
myFormat(firstDay) + ' , "$lt" : "' +
myFormat(lastDay) + '"}';

console.log(querydate);

输出

"_createdAt" : {"$gt" : "2014-02-01 00:00:00.000 , "$lt" : "2014-02-28 00:00:00.000"} 

关于 jsFiddle

关于Javascript日期,月份解析问题的最后一天,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21796360/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com