📜  js 添加星期到日期 - Javascript (1)

📅  最后修改于: 2023-12-03 14:43:32.710000             🧑  作者: Mango

Javascript - 添加星期到日期

当我们得到一个日期时,通常只包含年、月、日等信息,但是在很多情况下,我们需要得到这个日期对应星期的信息。在Javascript中,我们可以很容易地添加星期到日期上。

方法一:使用Date对象

我们可以使用Javascript中的Date对象来获取一个日期对应的星期信息。

首先,我们需要获取当前日期对象:

const date = new Date();

然后,我们可以使用getDate()、getDay()等方法来获取日期的详细信息:

const year = date.getFullYear(); // 获取日期年份
const month = date.getMonth() + 1; // 获取日期月份(月份为0~11,所以需要加1)
const day = date.getDate(); // 获取日期天数
const week = date.getDay(); // 获取星期信息(星期日~星期六对应0~6)

最后,将星期信息转换成中文即可:

const weekMap = ['星期日', '星期一', '星期二', '星期三', '星期四', '星期五', '星期六'];
const weekStr = weekMap[week];

完整代码如下:

const date = new Date();
const year = date.getFullYear();
const month = date.getMonth() + 1;
const day = date.getDate();
const week = date.getDay();
const weekMap = ['星期日', '星期一', '星期二', '星期三', '星期四', '星期五', '星期六'];
const weekStr = weekMap[week];

console.log(`${year}年${month}月${day}日,${weekStr}`);
方法二:使用moment.js库

moment.js是一个非常流行的Javascript日期库,它提供了丰富的日期操作工具。在moment.js中,我们也可以轻松地获取一个日期对应的星期信息。

首先,我们需要安装moment.js库:

npm install moment --save

然后,我们可以使用以下代码获取当前日期对象:

const moment = require('moment');
const date = moment();

接着,我们可以使用format()方法获取日期的详细信息,包括星期信息:

const year = date.format('YYYY'); // 获取日期年份
const month = date.format('MM'); // 获取日期月份
const day = date.format('DD'); // 获取日期天数
const week = date.format('dddd'); // 获取星期信息(星期日~星期六对应Sunday~Saturday)

const weekMap = {
    'Sunday': '星期日',
    'Monday': '星期一',
    'Tuesday': '星期二',
    'Wednesday': '星期三',
    'Thursday': '星期四',
    'Friday': '星期五',
    'Saturday': '星期六'
};
const weekStr = weekMap[week];

完整代码如下:

const moment = require('moment');
const date = moment();
const year = date.format('YYYY');
const month = date.format('MM');
const day = date.format('DD');
const week = date.format('dddd');
const weekMap = {
    'Sunday': '星期日',
    'Monday': '星期一',
    'Tuesday': '星期二',
    'Wednesday': '星期三',
    'Thursday': '星期四',
    'Friday': '星期五',
    'Saturday': '星期六'
};
const weekStr = weekMap[week];

console.log(`${year}年${month}月${day}日,${weekStr}`);

以上就是两种获取日期对应星期信息的方法,选择哪种方法取决于个人习惯和项目需求。