제 3 자로부터받은 날짜 (예 : "05/23/2014")가 지정된 날짜의 이름을 표시해야합니다.
을 사용해 보았지만 Date날짜 만 얻습니다.
오늘의 이름을 얻는 올바른 방법은 무엇입니까?
제 3 자로부터받은 날짜 (예 : "05/23/2014")가 지정된 날짜의 이름을 표시해야합니다.
을 사용해 보았지만 Date날짜 만 얻습니다.
오늘의 이름을 얻는 올바른 방법은 무엇입니까?
답변:
Date.getDay()일요일에는 0을, 토요일에는 최대 6을 반환 하는 메서드를 사용할 수 있습니다 . 따라서 요일 이름의 이름으로 배열을 간단히 만들 수 있습니다.
var days = ['Sunday', 'Monday', 'Tuesday', 'Wednesday', 'Thursday', 'Friday', 'Saturday'];
var d = new Date(dateString);
var dayName = days[d.getDay()];
다음 dateString은 타사 API에서받은 문자열입니다.
또는 요일 이름의 처음 세 글자를 원하는 경우 Date개체의 기본 제공 toString방법을 사용할 수 있습니다 .
var d = new Date(dateString);
var dayName = d.toString().split(' ')[0];
d.toString()출력 의 첫 번째 단어 가 3 글자 요일 이름이됩니다.
Ahum, 3 년 후 ...
왜 아무도 표준 자바 스크립트 Date 클래스 (Callum Linington 제외)에서 제공하는 메소드를 사용하지 않습니까?
https://developer.mozilla.org/en/docs/Web/JavaScript/Reference/Global_Objects/Date/toLocaleDateString을 참조 하십시오.
날짜에서 요일 이름 가져 오기 :
function getDayName(dateStr, locale)
{
var date = new Date(dateStr);
return date.toLocaleDateString(locale, { weekday: 'long' });
}
var dateStr = '05/23/2014';
var day = getDayName(dateStr, "nl-NL"); // Gives back 'Vrijdag' which is Dutch for Friday.
모든 평일을 배열로 가져 오기 :
function getWeekDays(locale)
{
var baseDate = new Date(Date.UTC(2017, 0, 2)); // just a Monday
var weekDays = [];
for(i = 0; i < 7; i++)
{
weekDays.push(baseDate.toLocaleDateString(locale, { weekday: 'long' }));
baseDate.setDate(baseDate.getDate() + 1);
}
return weekDays;
}
var weekDays = getWeekDays('nl-NL'); // Gives back { 'maandag', 'dinsdag', 'woensdag', 'donderdag', 'vrijdag', 'zaterdag', 'zondag'} which are the days of the week in Dutch.
미국 날짜의 경우 'en-US'를 로케일로 사용하십시오.
let weekday = ['Sun', 'Mon', 'Tue', 'Wed', 'Thu', 'Fri', 'Sat'][new Date().getDay()]
var days = [
"Sunday",
"Monday",
"...", //etc
"Saturday"
];
console.log(days[new Date().getDay()]);
간단하고 JavaScript 매뉴얼에서 Date 객체를 읽으십시오.
읽을 수있는 문자열을 가져 오는 등 날짜로 다른 작업을 수행하려면 다음을 사용합니다.
var d = new Date();
d.toLocaleString();
시간 또는 날짜 사용을 원하는 경우 :
d.toLocaleTimeString();
d.toLocaleDateString();
다음을 수행하여 날짜를 구문 분석 할 수 있습니다.
var d = new Date(dateToParse);
또는
var d = Date.parse(dateToParse);
days[new Date().getDay()]
이것 좀보세요 :
var event = new Date(Date.UTC(2012, 11, 20, 3, 0, 0));
var options = { weekday: 'long', year: 'numeric', month: 'long', day: 'numeric' };
console.log(event.toLocaleDateString('de-DE', options));
// expected output: Donnerstag, 20. Dezember 2012
console.log(event.toLocaleDateString('ar-EG', options));
// expected output: الخميس، ٢٠ ديسمبر، ٢٠١٢
console.log(event.toLocaleDateString('ko-KR', options));
// expected output: 2012년 12월 20일 목요일
출처 : Mozilla Doc
이 코드를 사용해보십시오 :
var event = new Date();
var options = { weekday: 'long' };
console.log(event.toLocaleDateString('en-US', options));
이것은 문자열 형식으로 요일 이름을 제공합니다.
솔루션 No.1
var today = new Date();
var day = today.getDay();
var days = ["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"];
var dayname = days[day];
document.write(dayname);
솔루션 No.2
var today = new Date();
var day = today.getDay();
switch(day){
case 0:
day = "Sunday";
break;
case 1:
day = "Monday";
break;
case 2:
day ="Tuesday";
break;
case 3:
day = "Wednesday";
break;
case 4:
day = "Thrusday";
break;
case 5:
day = "Friday";
break;
case 6:
day = "Saturday";
break;
}
document.write(day);
주어진 날짜에서 날짜를 가져 오려면 새 Date 객체에 날짜를 전달하면됩니다.
let date = new Date("01/05/2020");
let day = date.toLocaleString('en-us', {weekday: 'long'});
console.log(day);
// expected result = tuesday
자세한 내용은 mdn-date.prototype.toLocaleString () ( https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date/toLocaleString )을 참조하십시오.
그냥 사용하세요 :
function getWeekDayNames(format = 'short', locale = 'ru') {
const names = [];
const date = new Date('2020-05-24');
let days = 7;
while (days !== 0) {
date.setDate(date.getDate() + 1);
names.push(date.toLocaleDateString(locale, { weekday: format }));
days--;
}
return names;
}
여기에서 읽을 수있는 형식에 대해 문서 DateTimeFormat
최선의 방법은 아니지만 대신 배열을 사용하십시오. 이것은 단지 대체 방법입니다.
http://www.w3schools.com/jsref/jsref_getday.asp
var date = new Date();
var day = date.getDay();
여기에 게시하기 전에 실제로 Google을 사용해야합니다.
다른 사람들이 배열 메서드를 게시했기 때문에 switch 문을 사용하는 다른 방법을 보여 드리겠습니다.
switch(day) {
case 0:
day = "Sunday";
break;
case 1:
day = "Monday";
break;
... rest of cases
default:
// do something
break;
}
위의 방법은 작동하지만 배열이 더 나은 대안입니다. if()문 을 사용할 수도 있지만 switch 문이 if 문보다 훨씬 깨끗합니다.
switch? 왜 switch간단한 대신 a를 사용 Array합니까? 내 말은, 다른 답변에 대한 대안이라고 생각합니다 ...하지만 거룩한 글쓰기 시간, 배트맨 ... : /
getDay()하여 요일 번호 (0-6, 0 == 일요일)를 가져온 다음 요일 이름 배열을 사용하여 번호를 이름에 매핑합니다.