将日期名称添加到getDate()函数

时间:2017-04-06 07:32:26

标签: javascript json api date project

所以我有这个项目,我正在努力。我试图在此代码上添加日期名称,以返回当前周的日期(周一,周二,周三等)。

这就是我的代码目前的样子:

            // Get the current date
            var curr = new Date(new Date().getTime() + 60 * 60 * 24 * 7);

            // First day
            var first = curr.getDate() - curr.getDay();

            // Last day
            var last = first + 6; 

            var startDate = new Date(curr.setDate(first));
            var endDate = new Date(curr.setDate(last));

我想补充一点,我正在将这部分代码用于项目,我们从学校自己的API打印学校时间表。我使用此代码通过JSON查询获取当前周时间表:

var getData = {
                "startDate": startDate,
                "endDate": endDate,
                "studentGroup": [
                 ""
                ]
            };

如果需要,我可以提供有关该项目的更多信息。

我非常感谢你的帮助。提前谢谢。

编辑:

为了使JSON查询起作用,startDate和endDate需要采用这种形式(例如下面);

YYYY-MM-DD'T'H:mm   eg. 2020-12-31T12:50

3 个答案:

答案 0 :(得分:2)

由于getDay()为您提供Day的整数值。您可以使用数组来获取天数,例如

var Days = ['Sun', 'Mon', 'Tue', 'Wed', 'Thurs', 'Fri', 'Sat']

因此,您可以通过

轻松获得一天
var currDay = Days[new Date().getDay()]

答案 1 :(得分:2)

在查看您的代码后,我设法找到了解决方案。

首先,您需要列出日期名称

var days = ['Sunday', 'Monday', 'Tuesday', 'Wednesday', 'Thursday', 'Friday', 'Saturday'];

然后你需要在responseText之后浏览JSON.parse()并为对象创建一个数组:

var json = JSON.parse(data.responseText);
var dataList = [];
for (var i = 0; i < json.reservations.length; i++) {
    if (json.reservations[i].resources != null) {
        for (var j = 0; j < json.reservations[i].resources.length; j++) {    
            var reservation = json.reservations[i];
            var resource = json.reservations[i].resources[j];

在此之后,您可以获取日期的名称,并将其添加到您的数组中:

// Name of the day
var day = new Date(reservation.startDate);                          
dataList.push(days[day.getDay()]);

答案 2 :(得分:1)

你也可以像这样使用

var date = new Date();   // return timestamp object
date = date.toString();  // return timestamp  as string
date = date.substring(0,3); // return the day name
alert(date);

谢谢,