JavaScript로 현재 날짜를 얻으려면 어떻게합니까?
new Date()
현재 날짜가 아닌 현재 시간을 반환합니다 . 시간 구성 요소가없는 (즉, 자정에있는) 다른 날짜와 비교하려는 경우 구별이 중요합니다.
JavaScript로 현재 날짜를 얻으려면 어떻게합니까?
new Date()
현재 날짜가 아닌 현재 시간을 반환합니다 . 시간 구성 요소가없는 (즉, 자정에있는) 다른 날짜와 비교하려는 경우 구별이 중요합니다.
답변:
현재 날짜와 시간이 포함 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;
원하는 형식으로 변경 하면됩니다.
01
, 02
, ...,09
Date.prototype.toLocaleDateString()
방법은보다 유연한 솔루션입니다. ECMAScript 5.1 이후 JavaScript의 일부이며 상록 브라우저에서 잘 지원됩니다. MDN :toLocaleDateString()
var utc = new Date().toJSON().slice(0,10).replace(/-/g,'/');
document.write(utc);
Firefox 및 Safari에서 대시가있는 날짜를 인식하지 못하므로과 같은 변수 replace
를 재사용하려는 경우이 옵션을 사용하십시오 .utc
new Date(utc)
toUTCString()
utc datetime으로 반환합니다.
moment( new Date().toJSON().slice(0, 10) )
업데이트되었습니다! , 아래로 스크롤
최종 사용자에게 간단한 것을 원한다면 ... 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
풍미 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');
알다시피, double \
을 사용 하여 캐릭터를 벗어날 수 있습니다 .
가장 짧은.
"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")
: 등).
시간 정보가없는 날짜 만 원하면 다음을 사용하십시오.
var today = new Date();
today.setHours(0, 0, 0, 0);
document.write(today);
날짜 형식을 더 세밀하게 제어하려면 momentjs를 확인하는 것이 좋습니다. 훌륭한 도서관-단 5KB. http://momentjs.com/
moment.js를 사용할 수 있습니다 : http://momentjs.com/
var m = moment().format("DD/MM/YYYY");
document.write(m);
<script src="https://cdnjs.cloudflare.com/ajax/libs/moment.js/2.14.1/moment.min.js"></script>
moment().format("L")
현재 로캘을 존중합니다.
var d = (new Date()).toString().split(' ').splice(1,3).join(' ');
document.write(d)
여러 단계로 나누려면 :
(new Date()).toString()
"2013 년 6 월 28 일 금요일 15:30:18 GMT-0700 (PDT)"제공
(new Date()).toString().split(' ')
[ "Fri", "Jun", "28", "2013", "15:31:14", "GMT-0700", "(PDT)"와 같이 각 문자열에서 위 문자열을 나누고 배열을 반환합니다. ]
(new Date()).toString().split(' ').splice(1,3).join(' ')
위의 배열에서 두 번째, 세 번째 및 네 번째 값을 가져 와서 공백으로 결합하고 문자열 "Jun 28 2013"을 반환합니다.
Date().split(' ').splice(1,3).join(' ')
var date = new Date().toLocaleDateString("en-US");
또한 toLocaleDateString
두 개의 매개 변수를 사용 하여 메소드 를 호출 할 수 있습니다 .
var date = new Date().toLocaleDateString("en-US", {
"year": "numeric",
"month": "numeric"
});
MSDN 기사 . 이 방법에 대한 자세한 내용은 MDN을 참조하십시오 .
new Date().toLocaleDateString("de-de")
나를 위해 트릭을 수행합니다.
Date 객체를 확장 하는 Date.js 라이브러리를 사용할 수 있으므로 .today () 메서드를 가질 수 있습니다.
현재 날짜를 다음과 같이 정적 메소드로 호출 할 수 있습니다.
var now = Date.now()
참고:
https://developer.mozilla.org/en/docs/Web/JavaScript/Reference/Global_Objects/Date/now
var dtToday = new Date(date.now);
Varun의 답변 은 TimezoneOffset을 설명하지 않습니다 . 다음과 같은 버전이 있습니다.
var d = new Date()
new Date(d.getTime() - d.getTimezoneOffset() * 60000).toJSON().slice(0, 10) // 2015-08-11
는 TimezoneOffset
날짜 생성자 밀리 이에 의해 승산을 취하면서, 분 60000
.
new Date().toDateString();
결과:
"2016 년 2 월 3 일 수요일"
으로는 toISOString()
단지 현재 UTC 시간이 아니라 현지 시간을 반환합니다. '.toString ()'함수를 사용하여 다음 yyyy-MM-dd
과 같은 형식으로 날짜를 가져 와서 날짜를 만들어야합니다.
document.write(new Date(new Date().toString().split('GMT')[0]+' UTC').toISOString().split('T')[0]);
날짜와 시간을 yyyy-MM-ddTHH:mm:ss
형식 으로 가져 오려면
document.write(new Date(new Date().toString().split('GMT')[0]+' UTC').toISOString().split('.')[0]);
날짜와 시간을 yyyy-MM-dd HH:mm:ss
형식 으로 가져 오려면
document.write(new Date(new Date().toString().split('GMT')[0]+' UTC').toISOString().split('.')[0].replace('T',' '));
최신 편집 : 8/23/19이 날짜 FNS의 라이브러리가 훨씬처럼 작동 moment.js 하지만 WAY 작은 풋 프린트를 가지고있다. 프로젝트에 포함하려는 함수를 선택하여 오늘 날짜를 형식화하기 위해 전체 라이브러리를 컴파일 할 필요가 없습니다. 최소 타사 라이브러리가 프로젝트에 대한 옵션이 아닌 경우 Samuel Meddows가 승인 한 솔루션을 승인합니다.
소수의 사람들에게 도움이 되었기 때문에 아래의 기록 보존. 그러나 기록을 위해이 게시물의 대부분의 솔루션과 마찬가지로 경고없이 해킹하고 경고하기 쉽습니다.
2017 년 2 월 7 일 편집 한 줄 JS 솔루션 :
tl; dr
var todaysDate = new Date(Date.now()).toLocaleString().slice(0,3).match(/[0-9]/i) ? new Date(Date.now()).toLocaleString().split(' ')[0].split(',')[0] : new Date(Date.now()).toLocaleString().split(' ')[1] + " " + new Date(Date.now()).toLocaleString().split(' ')[2] + " " + new Date(Date.now()).toLocaleString().split(' ')[3];
edge, ff 최신, 및 크롬은todaysDate = "2/7/2017"
"작동"* IE10 +에서 반환
설명
IE10과 IE Edge가 약간 다르게 작동한다는 것을 알았습니다. 와new Date(Date.now()).toLocaleString()
같은 입력
IE10은 다음을 반환합니다.
"Tuesday, February 07, 2017 2:58:25 PM"
큰 긴 함수와 FTFY를 작성할 수 있습니다. 그러나 실제로이 물건 에는 moment.js 를 사용해야 합니다. 내 대본은 단순히 이것을 정리하고 확장 된 미국 전통 표기법을 제공합니다 .> todaysDate = "March 06, 2017"
IE EDGE는 다음을 반환합니다.
"2/7/2017 2:59:27 PM"
물론 그렇게 쉬울 수는 없습니다. Edge의 날짜 문자열에는 보이는 각 문자 사이에 보이지 않는 "•"문자가 있습니다.따라서 전체 날짜 범위의 단일 문자가 결국 점 또는 슬래시가 될 것이기 때문에 첫 번째 문자가 숫자인지 여부뿐만 아니라 첫 번째 3 문자인지 확인합니다. 따라서 일을 간단하게 유지하려면 .slice () 첫 세 문자 (미래의 shenanigan에 대한 작은 버퍼)를 확인한 다음 숫자를 확인하십시오. 이 보이지 않는 점은 코드에서 잠재적으로 지속될 수 있습니다. 이 문자열을보기에 인쇄하는 것보다 더 큰 계획이 있다면 그것에 대해 파고들 것입니다.
one 1 라이너 업데이트 :
var todaysDate = new Date(Date.now()).toLocaleString().slice(0,3).match(/[0-9]/i) ? new Date(Date.now()).toLocaleString().split(' ')[0].split(',')[0] : new Date(Date.now()).toLocaleString().split(' ')[1] + " " + new Date(Date.now()).toLocaleString().split(' ')[2] + " " + new Date(Date.now()).toLocaleString().split(' ')[3];
읽어봐 어때요?
var dateString = new Date(Date.now()).toLocaleString();
var todaysDate = dateString.slice(0,3).match(/[0-9]/i) ? dateString.split(' ')[0].split(',')[0] : dateString.split(' ')[1] + " " + dateString.split(' ')[2] + " " + dateString.split(' ')[3];
원래 답변
나는 당신을 위해 하나의 라이너를 가지고 있습니다 :
new Date(Date.now()).toLocaleString().split(', ')[0];
그리고 [1]
당신에게 시간을 줄 것입니다.
이것을 사용할 수 있습니다
<script>
function my_curr_date() {
var currentDate = new Date()
var day = currentDate.getDate();
var month = currentDate.getMonth() + 1;
var year = currentDate.getFullYear();
var my_date = month+"-"+day+"-"+year;
document.getElementById("dateField").value=my_date;
}
</script>
HTML은
<body onload='return my_curr_date();'>
<input type='text' name='dateField' id='dateField' value='' />
</body>
jQuery를 사용하는 경우 이 하나의 라이너를 사용해보십시오.
$.datepicker.formatDate('dd/mm/yy', new Date());
날짜 형식을 지정하는 규칙은 다음과 같습니다.
다음은 jQuery datepicker에 대한 참조입니다.
현재 시간대를 고려할 때 ISO yyyy-mm-dd 형식을 사용하는 현명한 방법은 다음과 같습니다.
let d = new Date().toISOString().substring(0,19).replace("T"," ") // "2020-02-18 16:41:58"
일반적으로 이것은 다목적 호환 날짜 형식이며 필요한 경우 순수한 날짜 값으로 변환 할 수 있습니다.
Date.parse(d); // 1582044297000
가장 큰 문제는 무엇입니까?이 작업을 수행하는 가장 깨끗한 방법은
var currentDate=new Date().toLocaleString().slice(0,10);
3/4/2018,
를 사용하는 것이 좋습니다 new Date().toJSON().slice(0,10)
.
.slice(0,10)
형식화 된 날짜를 얻는 것이 좋습니다
let date = new Date().toLocaleDateString("en", {year:"numeric", day:"2-digit", month:"2-digit"});
console.log(date);
나는 이것이 오래된 질문이라고 생각하지만 가장 쉬운 방법은 다음과 같습니다.
var date = new Date();
var TimeStamp = date.toLocaleString();
function CurrentTime(){
alert(TimeStamp);
}
현재 시간을 가져 와서 위치에 따라 문자열로 전달한 다음 CurrentTime 함수를 호출하여 시간을 표시 할 수 있습니다. 이것은 나에게있어 타임 스탬프를 얻는 가장 효과적인 방법입니다.
var currentTime = new Date();