如何获取仅打印星期几的日期?

时间:2019-05-05 14:33:14

标签: javascript

如何使用JS只打印星期几。还是一天和一个月?

我在玩一些功能,但是我只得到整个日期。

val intPart = number.substringBefore(".").toIntOrNull() 

然后我将不得不在React组件中将变量用作props,它应该是字符串。 那么我应该使用toUTCstring吗?

8 个答案:

答案 0 :(得分:2)

getDay不带参数。您正在寻找setDate将日期设置为明天,然后使用getDay不带参数:

let tomorrow = new Date();
tomorrow.setDate(tomorrow.getDate() + 1);
let days = ['sun', 'mon', 'tue', 'wed', 'thu', 'fri', 'sat']
console.log('tomorrow is: ' + days[tomorrow.getDay()])

答案 1 :(得分:2)

您可以使用getDay()方法。这将返回一个数字。您可以使用该数字获取日期。像这样

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

let date = new Date();
var day_of_week = date.getDay();
var day_name = days[day_of_week];

答案 2 :(得分:1)

您可以使用toLocaleStringweekday选项:

mydateobject.toLocaleString("en", { weekday: "long" })

可以类似的方式获取月份名称:

mydateobject.toLocaleString("en", { month: "long" })

答案 3 :(得分:1)

javascript Date对象具有许多获取所需内容的方法:您可以使用getDay()获取星期几,并使用getMonth()获取月份。

要将其作为字符串参数传递,我相信最好是使用toISOString(),并且可以将此字符串用作另一边的Date构造函数的参数。

答案 4 :(得分:1)

对于处理日期,我建议使用moment js

您可以先使用npm install moment安装它,然后

moment().format('E');  

moment().utc.().format('E');

或仅moment().day()

答案 5 :(得分:1)

使用Date.toDateString()可以将格式设置为dd mmm yy(或您想要的任何方式):

let date = new Date
str = date.toDateString() // 'Mon May 06 2019
let arr = str.split(" ") // ['Mon', 'May', '06', '2019']
let formatted = parseInt(arr[2]).toString() + " " + arr[1] + " " + arr[3] //6 May 2019
console.log(formatted) //6 May 2019

使用Date.toLocaleString()给出工作日:

let date = new Date
let weekdayLong = date.toLocaleString('en-gb', {weekday: 'long'}) //Monday
let weekdayShort = date.toLocaleString('en-gb', {weekday: 'short'}) //Mon

答案 6 :(得分:1)

看起来像toDateString总是返回星期中一天中的3个字母,因此您可以:

// Today
new Date().toDateString().substring(0,3)
// Tomorrow
new Date(Date.now()+24*3600*1e3).toDateString().substring(0,3)

或者,获取数字(从零开始):

// Today
new Date().getDay()
// Tomorrow
new Date(Date.now()+24*3600*1e3).getDay()

答案 7 :(得分:1)

如果使用momentjs库,则可以使用let day = moment(tomorrow).format('dddd');

let tomorrow = new Date();
tomorrow.setDate(tomorrow.getDate() + 1);
console.log(tomorrow)
let day = moment(tomorrow).format('dddd');
console.log(day);

let tomorrow = new Date();
tomorrow.setDate(tomorrow.getDate() + 1);
console.log(tomorrow)
let day = moment(tomorrow).format('dddd');
console.log(day);
<script src="https://cdnjs.cloudflare.com/ajax/libs/moment.js/2.24.0/moment.js"></script>