JavaScript에서 현재 날짜를 얻으려면 어떻게합니까

javascript date date-formatting


JavaScript로 현재 날짜를 얻으려면 어떻게합니까?




Answer 1 Samuel Meddows


new Date() 를 사용 하여 현재 날짜와 시간을 포함 하는 새 Date 객체 를 생성하십시오 .

var today = new Date();
var dd = String(today.getDate()).padStart(2, '0');
var mm = String(today.getMonth() + 1).padStart(2, '0'); //January is 0!
var yyyy = today.getFullYear();

today = mm + '/' + dd + '/' + yyyy;
document.write(today);

이렇게하면 오늘 날짜가 mm / dd / yyyy 형식으로 표시됩니다.

today = mm +'/'+ dd +'/'+ yyyy; 간단히 변경 = mm + '/'+ dd + '/'+ yyyy; 원하는 형식으로.




Answer 2 Varun Natraaj


var utc = new Date().toJSON().slice(0,10).replace(/-/g,'/');
document.write(utc);

Firefox 및 Safari에서 대시가있는 날짜를 인식하지 못 하므로 new Date(utc) 와 같은 utc 변수 를 재사용하려는 경우 replace 옵션을 사용하십시오 .




Answer 3 SpYk3HH


업데이트되었습니다! , 아래로 스크롤

최종 사용자에게 간단한 것을 원한다면 ... Also, fixed a small suffix issue in the first version below. Now properly returns suffix.

var objToday = new Date(),
	weekday = new Array('Sunday', 'Monday', 'Tuesday', 'Wednesday', 'Thursday', 'Friday', 'Saturday'),
	dayOfWeek = weekday[objToday.getDay()],
	domEnder = function() { var a = objToday; if (/1/.test(parseInt((a + "").charAt(0)))) return "th"; a = parseInt((a + "").charAt(1)); return 1 == a ? "st" : 2 == a ? "nd" : 3 == a ? "rd" : "th" }(),
	dayOfMonth = today + ( objToday.getDate() < 10) ? '0' + objToday.getDate() + domEnder : objToday.getDate() + domEnder,
	months = new Array('January', 'February', 'March', 'April', 'May', 'June', 'July', 'August', 'September', 'October', 'November', 'December'),
	curMonth = months[objToday.getMonth()],
	curYear = objToday.getFullYear(),
	curHour = objToday.getHours() > 12 ? objToday.getHours() - 12 : (objToday.getHours() < 10 ? "0" + objToday.getHours() : objToday.getHours()),
	curMinute = objToday.getMinutes() < 10 ? "0" + objToday.getMinutes() : objToday.getMinutes(),
	curSeconds = objToday.getSeconds() < 10 ? "0" + objToday.getSeconds() : objToday.getSeconds(),
	curMeridiem = objToday.getHours() > 12 ? "PM" : "AM";
var today = curHour + ":" + curMinute + "." + curSeconds + curMeridiem + " " + dayOfWeek + " " + dayOfMonth + " of " + curMonth + ", " + curYear;

document.getElementsByTagName('h1')[0].textContent = today;
<h1></h1>

UBBER UPDATE 많은 지연 후 마침내 GitHubbed를 사용하여이 솔루션을 내가 사용했던 최종 솔루션으로 업데이트했습니다. 더 단맛을 내기 위해 막판 편집을했습니다! 이전 jsFiddle을 찾고 있다면 이것을 참조하십시오 .

이 업데이트는 위의 원래 대답만큼 작지는 않지만 비교적 작은 2 가지 맛으로 제공됩니다 . 아주 작은 것을 원한다면 그와 함께하십시오.
또한 참고 : 이것은 여전히 ​​moment.js보다 덜 부풀어 있습니다. moment.js는 훌륭하지만, 세속적 인 방법이 너무 많아 언어처럼 배우는 순간이 필요합니다. 여기 광산은 PHP 와 동일한 공통 형식을 사용합니다 : date .

빠른 링크

맛 1 new Date().format(String) 내 개인적인 관심. 금기를 알고 있지만 Date Object에서 훌륭하게 작동합니다. Date Object에 대한 다른 개조에 유의하십시오.

//  use as simple as
new Date().format('m-d-Y h:i:s');   //  07-06-2016 06:38:34

Flavor 2 dateFormat(Date, String) 전통적인 올인원 방식입니다. 이전의 모든 기능을 가지고 있지만 Date 매개 변수가있는 메소드를 통해 호출됩니다.

//  use as simple as
dateFormat(new Date(), 'm-d-Y h:i:s');  //  07-06-2016 06:38:34

보너스 풍미 (jQuery 필요) $.date(Date, String) 단순한 format 옵션 이상의 것을 포함 합니다 . 기본 Date 객체를 확장하고 addDays 와 같은 메서드를 포함합니다 . 자세한 내용은 Git을 참조하십시오 .

이 모드에서 형식 문자는 PHP : date에서 영감을 얻었습니다 . 전체 목록을 보려면 README 를 참조하십시오.

이 모드는 또한 훨씬 더 긴 미리 만들어진 형식 목록을 가지고 있습니다. 미리 만들어진 형식을 사용하려면 간단히 키 이름을 입력하십시오. dateFormat(new Date(), 'pretty-a');

  • 'compound'
    • 'commonLogFormat'== 'd / M / Y : G : i : s'
    • 'exif'== 'Y : m : d G : i : s'
    • 'isoYearWeek'== 'Y \\ WW'
    • 'isoYearWeek2'== 'Y-\\ WW'
    • 'isoYearWeekDay'== 'Y \\ WWj'
    • 'isoYearWeekDay2'== 'Y-\\ WW-j'
    • 'mySQL'== 'Ymd h : i : s'
    • 'postgreSQL'== 'Yz'
    • 'postgreSQL2'== 'Yz'
    • '비누'== 'Ymd \\ TH : i : su'
    • 'soap2'== 'Ymd \\ TH : i : s.uP'
    • 'unixTimestamp'== '@U'
    • 'xmlrpc'== 'Ymd \\ TG : i : s'
    • 'xmlrpcCompact'== 'Ymd \\ tGis'
    • 'wddx'== 'Ynj \\ TG : i : s'
  • 'constants'
    • '아메리카 인'== 'F j Y'
    • 'AMERICANSHORT'== 'm / d / Y'
    • 'AMERICANSHORTWTIME'== 'm / d / Y h : i : sA'
    • 'ATOM'== 'Ymd \\ TH : i : sP'
    • 'COOKIE'== 'l dMY H : i : s T'
    • '유럽'== 'j FY'
    • 'EUROPEANSHORT'== 'dmY'
    • 'EUROPEANSHORTWTIME'== 'dmY H : i : s'
    • 'ISO8601'== 'Ymd \\ TH : i : sO'
    • 'LEGAL'== 'j FY'
    • 'RFC822'== 'D d M y H : i : s O'
    • 'RFC850'== 'l dMy H : i : s T'
    • 'RFC1036'== 'D d M y H : i : s O'
    • 'RFC1123'== 'D d MYH : i : s O'
    • 'RFC2822'== 'D d MYH : i : s O'
    • 'RFC3339'== 'Ymd \\ TH : i : sP'
    • 'RSS'== 'D d MYH : i : s O'
    • 'W3C'== 'Ymd \\ TH : i : sP'
  • 'pretty'
    • 'pretty-a'== 'g : i.sA l jS \\ o \\ f FY'
    • 'pretty-b'== 'g : iA l jS \\ o \\ f FY'
    • 'pretty-c'== 'n / d / Y g : iA'
    • 'pretty-d'== 'n / d / Y'
    • 'pretty-e'== 'F jS-g : ia'
    • 'pretty-f'== 'g : iA'

알다시피, double \ 를 사용 하여 문자를 이스케이프 할 수 있습니다 .





Answer 4 Damjan Pavlica


가장 짧은.

"2018-08-03"과 같은 형식을 얻으려면 :

let today = new Date().toISOString().slice(0, 10)

console.log(today)

"8/3/2018"과 같은 형식을 얻으려면 :

let today = new Date().toLocaleDateString()

console.log(today)

또한 로케일 을 인수로 전달할 수 있습니다 toLocaleDateString("sr") 예 : toLocaleDateString ( "sr") 등 ) .




Answer 5 Marshal


시간 정보가없는 날짜 만 원하면 다음을 사용하십시오.

var today = new Date();
    today.setHours(0, 0, 0, 0);

document.write(today);