Geçerli yılı JavaScript'te edinin


975

Mevcut yılı JavaScript'te nasıl edinebilirim?


10
Bunun için gerçekten bir kopya yoksa şaşırtıcı. Bu yakın, ama kesin değil.
TJ Crowder

5
Kendinize bir referans alın, bu basit bir tarih Nesnesi
epascarello

2
"Şimdiki" yılın aynı anda gezegendeki herkes için aynı olmadığını unutmayın. Kişi saat dilimini dikkate almak zorundadır. Buradaki yanıtların çoğu, geçerli yılı kullanıcının yerel saat diliminde verir (kodun bir web tarayıcısında çalıştığı varsayılarak).
Matt Johnson-Pint

Yanıtlar:


1761

Bir new Date()nesne oluşturun ve arayın getFullYear():

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

Geçerli yılı her zaman gösteren bir altbilgi gibi bazı temel örnek bağlam sağlamak için kabul edilen cevabı ele geçirme:

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

Yukarıdaki HTML yüklendikten sonra başka bir yerde yürütüldü:

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


26
Aynı ailedeki diğer işlevler için bkz. Developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/…
user456584

Evrensel saate göre yılı almak için getUTCFullYear ()
Courtney Pattison

2
Yukarıdaki altbilgi örneği, yalnızca: <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 () yerine getFullYear () öğesini kullanın. Bkz. Stackoverflow.com/questions/16296897/…
roland

95

İşte tarihi almak için başka bir yöntem

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

Bu nasıl gömülü ve benim HTML web sayfasına çıktı var:

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

HTML sayfasına çıktı aşağıdaki gibidir:

Telif hakkı © 2018


4
Katılmıyorum. Bu açık bir başlangıç ​​sorusudur ve kimseye, özellikle de temelleri öğrenmeye başlayanlara kötü uygulama öğretmemeliyiz. Ayrıca cevabınız new Date().getFullYear(), kabul edilen cevapta zaten belirtildiği gibi yeni bir bilgi sağlamaz .
leonheess

2
1.) Kötü uygulama size söylüyor, ancak diğerleri bu geçerli vanilya Javascript olduğu için katılmıyorum; 2.) Cevabım, bunun console.log () değil, bir HTML sayfasında nasıl uygulanacağı hakkında yeni bilgiler sağlar.
Kudüs Programcısı

2
"İyi" özneldir. Bir kediyi ciltlemek için birden fazla yol ve kodlama sorunlarını çözmek için birden fazla yol vardır. Çözüm basit ve işe yarıyorsa, bu niye senin alçakgönüllü görüşünüze göre "iyi" değil?
Kudüs Programcısı

1
Efendim, bunun açık bir objektif standart olmadığı (ve gerçekten de açık bir tartışma olduğu) açıktır, çünkü sizinle aynı fikirde olmayan birçok kişi var: stackoverflow.com/questions/802854/… ... ve ayrıca burada : stackoverflow.com/questions/18789190/why-not-document-write Bu nedenle, sizinle aynı fikirde olmayan başkaları olduğu için öznel fikriniz için itibarımı işaretlemeniz çok hoş değil. Burada ana noktayı hatırlıyorum ve bunu console.log () yerine HTML dosyasına yazdırmak için basit bir yol sağladığımı unutmayın.
Kudüs Programcısı

1
Lütfen size katılmayan YÜZLERCE kişiyi görebileceğiniz önceki iki bağlantıya bakın. Sizinle aynı fikirde olan YÜZLERCE kişi de var, bu yüzden bu kesin bir konu değil. Yolunuzda ısrar ediyorsunuz ya da yüksek yol oldukça kapalı görüşlü, çünkü birinin bu document.write () 'in ihtiyaçları için en iyi çözüm olduğuna karar verebileceğinden emin olamazsınız.
Kudüs Programcısı

4

cari yıl için Date sınıfından getFullYear () kullanabiliriz, ancak gereksinimlere göre kullanabileceğiniz birçok işlev vardır, bazı işlevler,

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

Bu örneği alın, altbilgideki komut dosyasına başvurmadan veya diğer yanıtlar gibi başka bir yere göstermeksizin göstermek istediğiniz yere yerleştirebilirsiniz

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

Örnek olarak altbilgideki telif hakkı notu

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

Bu gereksiz bir cevap.
Crocsx

@crocsx, bu kodu HTML'nizde altbilgideki komut dosyasına veya diğer tüm yanıtlar gibi başka bir yere başvurmadan göstermek istediğiniz yere
ekleyebilirsiniz

Kudüs Programcı'nın cevabı biraz farklı
Crocsx

@Crocsx Bu cevap daha temiz bootstrap kullandığınızı varsayar HTML öğesi ve CSS sınıfları içermez, sadece bir satır, değil mi?
Majali

soru sadece yıl JS almak, yıl almak ve altbilgi koymak değil. Ve bu durumda, diğer cevabı düzenleyebilirdiniz. Her neyse ...
Crocsx

1

Bunun gibi javascript'i kullanabilirsiniz. Aksi takdirde büyük uygulamalarda yardımcı olan momentJs Plugin kullanabilirsiniz .

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

Burada bulunan cevapların çoğu, yalnızca yerel makinenizin saat dilimi ve ofsetine (istemci tarafı) - çoğu senaryoda güvenilir olarak kabul edilemeyen bir kaynağa ( cari makineden makineye farklılık gösterebilir) dayalı olarak geçerli yıla ihtiyacınız varsa doğrudur. .

Güvenilir kaynaklar:

  • Web sunucusunun saati (ancak güncellendiğinden emin olun)
  • Zaman API'ları ve CDN'leri

ayrıntılar

Örnekte çağrılan bir yöntem Date, makinenizin yerel saatine göre bir değer döndürür.

Daha fazla ayrıntı "MDN web dokümanları" nda bulunabilir: JavaScript Tarih nesnesi .

Size kolaylık sağlamak için dokümanlarından alakalı bir not ekledim:

(...) tarih ve saati almak için temel yöntemler veya bileşenleri yerel (yani ana bilgisayar sistemi) saat dilimi ve ofsetinde çalışır.

Bundan bahseden başka bir kaynak: JavaScript tarih ve saat nesnesi

birinin saati birkaç saat kapalıysa veya farklı bir saat dilimindeyse, Date nesnesinin kendi bilgisayarınızda oluşturulan saatten farklı bir saat oluşturacağını unutmayın.

Kullanabileceğiniz bazı güvenilir kaynaklar:

Ancak, zaman doğruluğunu umursamıyorsanız veya kullanım durumunuz yerel makinenin zamanına göre bir zaman değeri gerektiriyorsa, Javascript'in , veya (cari yıl için) Dategibi temel yöntemlerini güvenle kullanabilirsiniz .Date.now()new Date().getFullYear()

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.