JavaScript로 현재 연도 가져 오기


975

JavaScript에서 현재 연도를 어떻게 얻습니까?


10
실제로 복제본이 없다면 놀랍습니다. 이것은 가깝지만 정확하지는 않습니다.
TJ Crowder

5
스스로 참고해보세요. 이것은 간단한 조회 날짜 개체입니다
epascarello

2
"현재"연도는 지구상의 모든 사람에게 동시에 반드시 같은 것은 아닙니다. 시간대를 고려해야합니다. 여기에있는 대부분의 답변은 코드가 웹 브라우저에서 실행되고 있다고 가정 할 때 사용자의 현지 시간대로 현재 연도를 제공합니다.
Matt Johnson-Pint

답변:


1760

크리에이트 new Date()객체와 전화를 getFullYear():

new Date().getFullYear()
// returns the current year

항상 현재 연도를 표시하는 바닥 글과 같은 기본 예제 컨텍스트를 제공하기 위해 허용 된 답변을 납치했습니다.

<footer>
    &copy; <span id="year"></span>
</footer>

위의 HTML 이로 드 된 후 다른 곳에서 실행됩니다.

<script>
    document.getElementById("year").innerHTML = new Date().getFullYear();
</script>


26
동일한 제품군의 다른 기능에 대해서는 developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/…를
user456584

표준시 사용에 따라 올해 얻으려면 다음 getUTCFullYear ()
코티 패티 슨

2
<footer> <span id = "year"> </ span> </ footer>
Mike

227
// Return today's date and time
var currentTime = new Date()

// returns the month (from 0 to 11)
var month = currentTime.getMonth() + 1

// returns the day of the month (from 1 to 31)
var day = currentTime.getDate()

// returns the year (four digits)
var year = currentTime.getFullYear()

// write output MM/dd/yyyy
document.write(month + "/" + day + "/" + year)


3
getYear () 대신 getFullYear ()를 사용하십시오. stackoverflow.com/questions/16296897/…
roland

95

날짜를 얻는 또 다른 방법이 있습니다.

new Date().getDate()          // Get the day as a number (1-31)
new Date().getDay()           // Get the weekday as a number (0-6)
new Date().getFullYear()      // Get the four digit year (yyyy)
new Date().getHours()         // Get the hour (0-23)
new Date().getMilliseconds()  // Get the milliseconds (0-999)
new Date().getMinutes()       // Get the minutes (0-59)
new Date().getMonth()         // Get the month (0-11)
new Date().getSeconds()       // Get the seconds (0-59)
new Date().getTime()          // Get the time (milliseconds since January 1, 1970)

5

HTML 웹 페이지에 포함하여 출력하는 방법은 다음과 같습니다.

<div class="container">
    <p class="text-center">Copyright &copy; 
        <script>
            var CurrentYear = new Date().getFullYear()
            document.write(CurrentYear)
        </script>
    </p>
</div>

HTML 페이지로 출력은 다음과 같습니다.

저작권 © 2018


4
동의하지 않습니다. 이것은 분명히 초보자 질문이며 특히 기초를 배우기 시작한 사람들에게 나쁜 습관을 가르쳐서는 안됩니다. 또한 귀하의 답변 new Date().getFullYear()은 이미 수락 된 답변에 나와 있는 새로운 정보를 제공하지 않습니다 .
leonheess 2013

2
1.) 나쁜 습관은 당신에게 말하지만, 유효한 바닐라 자바 ​​스크립트이기 때문에 다른 사람들은 동의하지 않습니다. 2.) 내 대답은 console.log ()뿐만 아니라 HTML 페이지 내에서 이것을 구현하는 방법에 대한 새로운 정보를 제공합니다.
Jerusalem Programmer

2
"좋은"은 주관적입니다. 고양이를 껍질을 벗기는 방법과 코딩 문제를 해결하는 방법은 여러 가지가 있습니다. 해결책이 간단하고 효과적이라면 왜 이것이 겸손한 견해에서 "좋지 않은"것입니까?
Jerusalem Programmer

1
글쎄, 선생님, 당신과 동의하지 않는 많은 사람들이 있기 때문에 이것이 명백한 객관적인 표준이 아니며 (실제로 공개 토론 이기도합니다) stackoverflow.com/questions/802854/… ... 또한 여기 : stackoverflow.com/questions/18789190/why-not-document-write 따라서 귀하의 의견에 반대하는 사람들이 있기 때문에 귀하의 주관적인 의견에 대한 저의 명성을 표시하는 것은 그리 좋지 않습니다. 여기서 요점을 기억하십시오. 나는 이것을 console.log () 대신 HTML 파일로 인쇄하는 간단한 방법을 제공했습니다.
Jerusalem Programmer

1
귀하와 동의하지 않는 수백 명의 사람들을 볼 수있는 이전 두 링크를 참조하십시오. 귀하와 동의하는 수백 명의 사람들도 있으므로 명확한 문제가 아닙니다. 누군가가 document.write ()가 자신의 요구에 가장 적합한 솔루션이라고 결정할 수 있는지 확실하지 않기 때문에 당신의 길이나 높은 길에 대한 당신의 주장은 매우 폐쇄적입니다.
Jerusalem Programmer

4

현재 연도 에는 Date 클래스 에서 getFullYear ()를 사용할 수 있지만 요구 사항에 따라 사용할 수있는 많은 함수가 있으며 일부 함수는 다음과 같습니다.

var now = new Date()
console.log("Current Time is: " + now);

// getFullYear function will give current year 
var currentYear = now.getFullYear()
console.log("Current year is: " + currentYear);

// getYear will give you the years after 1990 i.e currentYear-1990
var year = now.getYear()
console.log("Current year is: " + year);

// getMonth gives the month value but months starts from 0
// add 1 to get actual month value 
var month = now.getMonth() + 1
console.log("Current month is: " + month);

// getDate gives the date value
var day = now.getDate()
console.log("Today's day is: " + day);


2

이 예제를 사용하면 바닥 글의 스크립트를 참조하지 않고 다른 답변과 같은 곳을 표시하지 않고 표시하려는 위치에 배치 할 수 있습니다

<script>new Date().getFullYear()>document.write(new Date().getFullYear());</script>

바닥 글의 저작권 참고 사항

Copyright 2010 - <script>new Date().getFullYear()>document.write(new Date().getFullYear());</script>

이것은 불필요한 답변입니다.
Crocsx

@crocsx 당신은 바닥 글의 스크립트 나 다른 모든 답변과 같은 다른 곳을 참조하지 않고 보여주고 싶은 곳에 HTML에이 코드를 추가 할 수 있습니다
Majali

예루살렘 프로그래머의 대답이 약간 다르다
Crocsx

@Crocsx이 대답은 더 깨끗합니다. 부트 스트랩을 사용한다고 가정하는 HTML 요소와 CSS 클래스는 포함되어 있지 않습니다.
Majali

문제는 JS에서 연도를 얻는 것입니다. 연도가 아닌 바닥 글에 배치하십시오. 그런 경우 다른 답변을 편집 할 수 있습니다. 어쨌든 ...
Crocsx

1

이와 같은 자바 스크립트를 간단히 사용할 수 있습니다. 그렇지 않으면 큰 응용 프로그램에서 도움이되는 momentJs 플러그인을 사용할 수 있습니다 .

new Date().getDate()          // Get the day as a number (1-31)
new Date().getDay()           // Get the weekday as a number (0-6)
new Date().getFullYear()      // Get the four digit year (yyyy)
new Date().getHours()         // Get the hour (0-23)
new Date().getMilliseconds()  // Get the milliseconds (0-999)
new Date().getMinutes()       // Get the minutes (0-59)
new Date().getMonth()         // Get the month (0-11)
new Date().getSeconds()       // Get the seconds (0-59)
new Date().getTime()          // Get the time (milliseconds since January 1, 1970)

function generate(type,element)
{
	var value = "";
	var date = new Date();
	switch (type) {
		case "Date":
			value = date.getDate();		// Get the day as a number (1-31)
			break;
		case "Day":
			value = date.getDay();		// Get the weekday as a number (0-6)
			break;
		case "FullYear":
			value = date.getFullYear();	// Get the four digit year (yyyy)
			break;
		case "Hours":
			value = date.getHours();	// Get the hour (0-23)
			break;
		case "Milliseconds":
			value = date.getMilliseconds();	// Get the milliseconds (0-999)
			break;
		case "Minutes":
			value = date.getMinutes();     // Get the minutes (0-59)
			break;
		case "Month":
			value = date.getMonth();	// Get the month (0-11)
			break;
		case "Seconds":
			value = date.getSeconds();	// Get the seconds (0-59)
			break;
		case "Time":
			value = date.getTime();		// Get the time (milliseconds since January 1, 1970)
			break;
	}

	$(element).siblings('span').text(value);
}
li{
  list-style-type: none;
  padding: 5px;
}

button{
  width: 150px;
}

span{
  margin-left: 100px;
}
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>


<ul>
	<li>
		<button type="button" onclick="generate('Date',this)">Get Date</button>
		<span></span>
	</li>
	<li>
		<button type="button" onclick="generate('Day',this)">Get Day</button>
		<span></span>
	</li>
	<li>
		<button type="button" onclick="generate('FullYear',this)">Get Full Year</button>
		<span></span>
	</li>
	<li>
		<button type="button" onclick="generate('Hours',this)">Get Hours</button>
		<span></span>
	</li>
	<li>
		<button type="button" onclick="generate('Milliseconds',this)">Get Milliseconds</button>
		<span></span>
	</li>

	<li>
		<button type="button" onclick="generate('Minutes',this)">Get Minutes</button>
		<span></span>
	</li>
	<li>
		<button type="button" onclick="generate('Month',this)">Get Month</button>
		<span></span>
	</li>
	<li>
		<button type="button" onclick="generate('Seconds',this)">Get Seconds</button>
		<span></span>
	</li>
	<li>
		<button type="button" onclick="generate('Time',this)">Get Time</button>
		<span></span>
	</li>
</ul>


0

TL; DR

여기에있는 대부분의 답변은 로컬 컴퓨터의 시간대와 오프셋 (클라이언트 측)을 기반으로 현재 연도가 필요한 경우 에만 정확 합니다 . 대부분의 시나리오에서 신뢰할 수없는 것으로 간주되는 소스 (컴퓨터마다 다를 수 있음) .

신뢰할 수있는 출처는 다음과 같습니다.

  • 웹 서버 시계 (하지만 업데이트되었는지 확인)
  • 시간 API 및 CDN

세부

Date인스턴스 에서 호출 된 메소드는 머신의 현지 시간을 기준으로 값을 리턴합니다.

자세한 내용은 "MDN 웹 문서": JavaScript Date object 에서 찾을 수 있습니다 .

귀하의 편의를 위해 문서에서 관련 메모를 추가했습니다.

(...) 날짜 및 시간 또는 해당 구성 요소를 모두 가져 오는 기본 방법은 모두 로컬 (예 : 호스트 시스템) 시간대 및 오프셋에서 작동합니다.

이것을 언급하는 또 다른 출처는 JavaScript 날짜 및 시간 객체입니다.

누군가의 시계가 몇 시간 정도 꺼져 있거나 다른 시간대에있는 경우 Date 개체는 자신의 컴퓨터에서 만든 시간과 다른 시간을 만듭니다.

신뢰할 수있는 몇 가지 출처는 다음과 같습니다.

그러나 단순히 시간 정확도에 신경 쓰지 않거나 유스 케이스에 로컬 시스템 시간에 상대적인 시간 값이 필요한 경우 Java 년의 Date기본 메소드를 ( Date.now()또는 new Date().getFullYear()현재 연도) 와 안전하게 사용할 수 있습니다 .

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.