JavaScript에서 현재 날짜를 어떻게 얻습니까?
질문자 :Suresh
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;
원하는 형식으로.
Samuel Meddows
var utc = new Date().toJSON().slice(0,10).replace(/-/g,'/'); document.write(utc);
Firefox 및 Safari는 대시가 있는 날짜를 인식하지 못 new Date(utc)
와 같은 utc
변수를 재사용하려는 경우 replace
옵션을 사용하십시오.
Varun Natraaj
가능한 한 가장 짧습니다.
"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")
등).
Damjan Pavlica
업데이트되었습니다! , 아래로 스크롤
최종 사용자에게 단순하고 예쁜 것을 원한다면... 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 업데이트 많은 시간을 미루고 마침내 GitHubbed를 만들고 이것을 내가 사용하고 있는 최종 솔루션으로 업데이트했습니다. 그것은 심지어 그것을 더 달콤하게 만들기 위해 마지막 순간에 편집했습니다! 이전 jsFiddle을 찾고 있다면 this 를 참조하십시오 .
이 업데이트는 위의 원래 답변만큼 작지는 않지만 여전히 상대적으로 작은 2가지 맛으로 제공됩니다. 매우 작은 것을 원하면 함께 가십시오.
또한 참고: 이것은 여전히 moment.js보다 덜 부풀려 있습니다. moment.js도 좋지만, 세속적인 방법이 너무 많아서 언어처럼 배우는 순간이 필요합니다. 여기에서 광산은 PHP와 동일한 공통 형식을 사용합니다 : date .
빠른 링크
Flavor 1
new Date().format(String)
My Personal Fav. 나는 금기를 알고 있지만 날짜 개체에서 잘 작동합니다. 날짜 개체에 대해 가질 수 있는 다른 모드에 대해 알아두십시오.
// use as simple as new Date().format('mdY h:i:s'); // 07-06-2016 06:38:34
Flavor 2
dateFormat(Date, String)
보다 전통적인 올인원 방식. 이전의 모든 기능을 가지고 있지만 Date 매개변수가 있는 메서드를 통해 호출됩니다.
// use as simple as dateFormat(new Date(), 'mdY h:i:s'); // 07-06-2016 06:38:34
BONUS Flavor(jQuery 필요)
$.date(Date, String)
format
옵션 이상의 것이 포함되어 있습니다. 기본 Date 개체를 확장하고addDays
와 같은 메서드를 포함합니다. 자세한 내용은 Git을 참조하십시오.
이 모드에서 형식 문자는 PHP: date 에서 영감을 받았습니다. 전체 목록을 보려면 내 README를 참조하십시오.
이 모드에는 훨씬 더 긴 미리 만들어진 형식 목록이 있습니다. 미리 만들어진 형식을 사용하려면 키 이름을 입력하기만 하면 됩니다. dateFormat(new Date(), 'pretty-a');
- '화합물'
- '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' == 'Y.z'
- 'postgreSQL2' == 'Yz'
- '비누' == 'Ymd\\TH:i:s.u'
- 'soap2' == 'Ymd\\TH:i:s.uP'
- 'unixTimestamp' == '@U'
- 'xmlrpc' == 'Ymd\\TG:i:s'
- 'xmlrpcCompact' == 'Ymd\\tGis'
- 'wddx' == 'Ynj\\TG:i:s'
- '상수'
- '미국인' == 'F j Y'
- 'AMERICACANSHORT' == 'm/d/Y'
- 'AMERICANSHORTWTIME' == 'm/d/Y h:i:sA'
- '아톰' == 'Ymd\\TH:i:sP'
- '쿠키' == 'l dMY H:i:s T'
- '유럽' == 'j F Y'
- '유럽 단축' == 'dmY'
- 'EUROPEANSHORTWTIME' == 'dmY H:i:s'
- 'ISO8601' == 'Ymd\\TH:i:sO'
- '합법' == 'j F Y'
- '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'
- '예쁜'
- '예쁜-a' == 'g:i.sA l jS \\o\\f F Y'
- '예쁜-b' == 'g:iA l jS \\o\\f F Y'
- '예쁜-c' == 'n/d/Y g:iA'
- '예쁜-d' == 'n/d/Y'
- '예쁜-e' == 'F jS - g:ia'
- '예쁜 f' == 'g:iA'
알 수 있듯이 이중 \
를 사용하여 문자를 이스케이프할 수 있습니다.
SpYk3HH
시간 정보 없이 날짜만 원하면 다음을 사용하십시오.
var today = new Date(); today.setHours(0, 0, 0, 0); document.write(today);
Marshal
이 시도:
var currentDate = new Date() var day = currentDate.getDate() var month = currentDate.getMonth() + 1 var year = currentDate.getFullYear() document.write("<b>" + day + "/" + month + "/" + year + "</b>")
결과는 다음과 같을 것입니다
15/2/2012
Jimmy M
날짜 형식을 훨씬 더 세밀하게 제어하려면 momentjs를 확인하는 것이 좋습니다. 훌륭한 라이브러리 - 단 5KB. http://momentjs.com/
benjamin.keen
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>
Morad
var d = (new Date()).toString().split(' ').splice(1,3).join(' '); document.write(d)
단계로 나누려면:
(new Date()).toString()
은 "Fri Jun 28 2013 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(' ')
위의 배열에서 두 번째, 세 번째 및 네 번째 값을 가져와 공백으로 결합하고 a를 반환합니다. 문자열 "2013년 6월 28일"
Rishabh Marya
var date = new Date().toLocaleDateString("en-US");
또한 두 개의 매개 변수를 사용하여 toLocaleDateString
메서드를 호출할 수 있습니다.
var date = new Date().toLocaleDateString("en-US", { "year": "numeric", "month": "numeric" });
Dunaevsky Maxim
이것은 매번 작동합니다.
var now = new Date(); var day = ("0" + now.getDate()).slice(-2); var month = ("0" + (now.getMonth() + 1)).slice(-2); var today = now.getFullYear() + "-" + (month) + "-" + (day); console.log(today);
roshan
YYYY-MM-DD 형식에 만족한다면 이 방법도 작동합니다.
new Date().toISOString().split('T')[0]
2018-03-10
Aung Htet
더 깨끗하고 단순한 버전:
new Date().toLocaleString();
결과 는 사용자의 로케일 에 따라 다릅니다.
2017년 2월 27일 오전 9시 15분 41초
Oded Breiner
다른 답변의 대부분은 날짜에 시간을 제공하는 것입니다.
날짜만 필요한 경우.
new Date().toISOString().split("T")[0]
산출
[ '2021-02-08', '06:07:44.629Z' ]
/
형식으로 replaceAll
사용하십시오.
new Date().toISOString().split("T")[0].replaceAll("-", "/")
momentjs
를 사용하는 것이 가장 좋습니다.
Shubham Chadokar
Date 객체를 확장한 Date.js 라이브러리를 사용할 수 있으므로 .today() 메소드를 가질 수 있습니다.
eomeroff
다음과 같이 현재 날짜 호출을 정적 메서드로 가져올 수 있습니다.
var now = Date.now()
참조:
https://developer.mozilla.org/en/docs/Web/JavaScript/Reference/Global_Objects/Date/now
Jose Rojas
Varun의 답변 은 TimezoneOffset을 고려하지 않습니다. 다음은 다음을 수행하는 버전입니다.
var d = new Date() new Date(d.getTime() - d.getTimezoneOffset() * 60000).toJSON().slice(0, 10) // 2015-08-11
TimezoneOffset
은 분이고 Date 생성자는 밀리초가 걸리므로 60000
곱합니다.
user1338062
가장 짧은 대답은 다음과 같습니다. new Date().toJSON().slice(0,10)
Blair Anderson
toISOString()
은 현지 시간이 아닌 현재 UTC 시간만 반환합니다. yyyy-MM-dd
형식으로 날짜를 가져오려면 '.toString()' 함수를 사용하여 날짜를 만들어야 합니다.
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',' '));
jafarbtech
new Date().toDateString();
결과:
"2016년 2월 3일 수"
Isayevskiy_Sergey
new Date().toISOString().slice(0,10);
너무 작동 할 것입니다
Toucouleur
DD/MM/YYYY
형식을 원할 경우 접두사가 누락된 0은 없지만 이 간단한 솔루션을 생각해 냈습니다.
var d = new Date(); document.write( [d.getDate(), d.getMonth()+1, d.getFullYear()].join('/') );
Phil Ricketts
Date.prototype.toLocaleDateString()
내장된 JS 사용 MDN 문서: https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date/toLocaleDateString
const options = { month: '2-digit', day: '2-digit', year: 'numeric', }; console.log(new Date().toLocaleDateString('en-US', options)); // mm/dd/yyyy
Constantin
최신 편집: 8/23/19 date-fns 라이브러리는 moment.js 와 매우 유사하게 작동하지만 설치 공간이 훨씬 더 작습니다. 이를 통해 프로젝트에 포함할 기능을 선택하여 오늘 날짜 형식을 지정하기 위해 전체 라이브러리를 컴파일할 필요가 없습니다. 최소한의 타사 라이브러리가 프로젝트에 대한 옵션이 아닌 경우 Samuel Meddows가 승인한 솔루션을 승인합니다.
소수의 사람들에게 도움이 되었기 때문에 아래에 기록을 보존합니다. 그러나 기록을 위해 이 게시물의 대부분의 솔루션과 같이 꽤 해킹되고 경고 없이 깨질 수 있습니다.
편집 2/7/2017 한 줄 JS 솔루션:
헐 박사
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()한 다음 숫자를 확인하십시오. 이러한 보이지 않는 점이 코드에서 잠재적으로 지속될 수 있다는 점에 유의해야 합니다. 이 문자열을 보기에 인쇄하는 것보다 더 큰 계획이 있는 경우 자세히 알아볼 수 있습니다.
∴ 업데이트된 한 줄:
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]
당신에게 하루 중 시간을 줄 것입니다.
Cam
노력하다
`${Date()}`.slice(4,15)
console.log( `${Date()}`.slice(4,15) )
우리는 여기에서 표준 JS 기능인 템플릿 리터럴 , 문자열로 캐스트되는 Date 객체 및 슬라이스를 사용 합니다. 이것은 아마도 OP 요구 사항을 충족하는 가장 짧은 솔루션일 것입니다(시간 없음, 날짜만).
Kamil Kiełczewski
당신은 이것을 사용할 수 있습니다
<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>
Roger
이를 해제하는 간단한 방법은(현재 시간대를 고려하면서 ISO yyyy-mm-dd 형식을 활용함) 다음과 같습니다.
let d = new Date().toISOString().substring(0,19).replace("T"," ") // "2020-02-18 16:41:58"
일반적으로 이것은 다목적으로 호환되는 날짜 형식이며 필요한 경우 순수한 날짜 값으로 변환할 수 있습니다.
Date.parse(d); // 1582044297000
Caiuby Freitas
jQuery를 사용하는 경우. 이 하나의 라이너를 사용해보십시오.
$.datepicker.formatDate('dd/mm/yy', new Date());
날짜 형식 지정 규칙은 다음과 같습니다.
- d - 날짜(앞에 0 없음)
- dd - 날짜(2자리)
- o - 일(앞에 0 없음)
- oo - 요일(세 자리)
- D - 짧은 요일 이름
- DD - 긴 요일 이름
- m - 연도(앞에 0 없음)
- mm - 연도(2자리)
- M - 짧은 월 이름
- MM - 월 이름 길이
- y - 연도(2자리)
- yy - 연도(4자리)
다음은 jQuery datepicker에 대한 참조입니다.
Souvik
이것은 포맷 된 날짜를 얻는 것이 좋습니다.
let date = new Date().toLocaleDateString("en", {year:"numeric", day:"2-digit", month:"2-digit"}); console.log(date);
Yugandhar Chaudhari
"현재 날짜"까지 "오늘"에 대해 생각하고 있다면 이 트릭이 효과가 있을 수 있습니다.
> new Date(3600000*Math.floor(Date.now()/3600000)) 2020-05-07T07:00:00.000Z
이렇게 하면 시간이 0:00:00인 오늘 날짜 인스턴스를 얻을 수 있습니다.
작동 원리는 매우 간단합니다. 현재 타임스탬프를 가져 와서 밀리초로 표시된 1일 동안 나눕니다. 우리는 분수를 얻을 것입니다. Math.floor 를 사용하여 분수를 제거하므로 정수를 얻습니다. 이제 다시 하루를 곱하면(다시 - 밀리초 단위), 날짜 타임스탬프가 정확히 그날의 시작 시간과 함께 표시됩니다.
> now = Date.now() 1588837459929 > daysInMs = now/3600000 441343.73886916664 > justDays = Math.floor(daysInMs) 441343 > today = justDays*3600000 1588834800000 > new Date(today) 2020-05-07T07:00:00.000Z
깨끗하고 간단합니다.
marverix
출처 : http:www.stackoverflow.com/questions/1531093/how-do-i-get-the-current-date-in-javascript
'etc. > StackOverFlow' 카테고리의 다른 글
jQuery를 통해 어떤 라디오 버튼이 선택되었는지 어떻게 알 수 있습니까? (0) | 2021.11.10 |
---|---|
JavaScript에서 null, 정의되지 않음 또는 공백 변수를 확인하는 표준 함수가 있습니까? (0) | 2021.11.10 |
Maven을 사용하여 종속성이 있는 실행 가능한 JAR을 어떻게 만들 수 있습니까? (0) | 2021.11.10 |
설치된 PowerShell 버전 확인 (0) | 2021.11.10 |
PHP의 배열에서 요소 삭제 (0) | 2021.11.10 |