Javascript / Node.js'de günün saatini nasıl alabilirim?


101

1'den 24'e , 1'i Pasifik Saatiyle 01:00 olmak istiyorum .

Bu numarayı Node.JS'de nasıl alabilirim?

Şu anda Pasifik saatinin kaç olduğunu bilmek istiyorum.

Yanıtlar:


143

Date nesnesini kontrol etmelisiniz .

Özellikle, Date nesnesi için getHours () yöntemine bakabilirsiniz .

getHours (), zamanı 0 - 23 arasında döndürür, bu nedenle buna göre işlem yaptığınızdan emin olun. Bence 0-23, askeri zaman 0-23 arasında olduğu için biraz daha sezgisel, ama bu size kalmış.

Bunu akılda tutarak, kod şu satırlarda bir şey olacaktır:

var date = new Date();
var current_hour = date.getHours();

Dakikalarla yuvarlamayı kastediyorsanız (1:45 -> 2:00 gibi), Date nesnesi için getMinutes () yöntemini kullanabilirsiniz.
jtsao22

2
MDN bağlantısı: developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/… . O "W3C Okulları" sahte çöp bağlantı vermeyin
Max

150

Bu fonksiyon size şu formatta tarih ve saati döndürür: YYYY:MM:DD:HH:MM:SS. Ayrıca Node.js'de de çalışır.

function getDateTime() {

    var date = new Date();

    var hour = date.getHours();
    hour = (hour < 10 ? "0" : "") + hour;

    var min  = date.getMinutes();
    min = (min < 10 ? "0" : "") + min;

    var sec  = date.getSeconds();
    sec = (sec < 10 ? "0" : "") + sec;

    var year = date.getFullYear();

    var month = date.getMonth() + 1;
    month = (month < 10 ? "0" : "") + month;

    var day  = date.getDate();
    day = (day < 10 ? "0" : "") + day;

    return year + ":" + month + ":" + day + ":" + hour + ":" + min + ":" + sec;

}

10
Aww. (new Date()).toJSON().slice(0, 19).replace(/[-T]/g, ':')
user3125367

3
@ user3125367 Güzel biri! Tarihi biçimlendirmede esneklik gerekiyorsa benimki daha iyi çalışabilir. :-)
Ionică Bizău

@ user3125367 öneriniz özlü iken aslında aynı değildir. Sadece test ettim ve getDateTime () geri döndü: 2020:06:10:10:12:35oysa sizinki döndü: 2020:06:10:00:12:35 Saat dilimi ayarlamalarını dikkate almadı.
John Forbes

17

Check moment.jskütüphane. Node.JS ile olduğu kadar tarayıcılarla da çalışır. Yazmana izin verir

moment().hour();

veya

moment().hours();

önceden herhangi bir fonksiyon yazılmadan.



8

Tarihle çalışmanın yerel bir yöntemi var

const date = new Date();
let hours = date.getHours();

6
Bu, okunabilirliği engelleyen çok küçük bir gelişme gibi görünüyor.
Benjamin Lowry

3

Yalnızca zaman dizesini istiyorsanız, bu ifadeyi kullanabilirsiniz (basit bir Normal İfadeyle):

new Date().toISOString().match(/(\d{2}:){2}\d{2}/)[0]
// "23:00:59"

0
var date = new Date();
var year = date.getFullYear();
var month = date.getMonth() + 1;
month = (month < 10 ? "0" : "") + month;
var hour = date.getHours();
hour = (hour < 10 ? "0" : "") + hour;
var day  = date.getDate();
day = (hour > 12 ? "" : "") + day - 1;
day = (day < 10 ? "0" : "") + day;
x = ":"
console.log( month + x + day + x + year )

Tarihi ay, gün, ardından yıl olarak gösterecektir.


0

Örneğim için onu global olarak kullandım ve daha sonra çalışma saatlerinin ne zaman kontrol edildiğini kontrol ettim.

Aşağıda index.js dosyamdan

global.globalDay = new Date().getDay(); 

global.globalHours = new Date().getHours();

Global değeri başka bir dosyadan çağırmak için

    /*
     Days of the Week.
     Sunday = 0, Monday = 1, Tuesday = 2, Wensday = 3, Thursday = 4, Friday = 5, Saturday = 6

     Hours of the Day.
     0 = Midnight, 1 = 1am, 12 = Noon, 18 = 6pm, 23 = 11pm
     */

if (global.globalDay === 6 || global.globalDay === 0) {
     console.log('Its the weekend.');
} else if (global.globalDay > 0 && global.globalDay < 6 && global.globalHours > 8 && global.globalHours < 18) {
     console.log('During Business Hours!');
} else {
     console.log("Outside of Business hours!");
}

-1

Düğümünüzü PST saat diliminde başlatmak için ubuntu'da aşağıdaki komutu kullanın.

TZ=\"/usr/share/zoneinfo/GMT+0\" && export TZ && npm start &

Ardından , düğümdeki özel hesaplama tarih ve saat işlevlerini almak için Tarih Kitaplığına başvurabilirsiniz .

İstemci tarafında kullanmak için bu bağlantıya bakın , index.js'yi ve assertHelper.js'yi indirin ve bunu HTML'nize ekleyin.

<script src="assertHelper.js"></script>
<script type="text/javascript" src="index.js"></script>
$( document ).ready(function() {
    DateLibrary.getDayOfWeek(new Date("2015-06-15"),{operationType:"Day_of_Week"}); // Output : Monday
}

Özel tarihler elde etmek için örneklerde verilen farklı işlevleri kullanabilirsiniz.

Haftanın ilk günü Pazar ise, 15 Haziran 2015 hangi gün olacaktır.

 DateLibrary.getDayOfWeek(new Date("2015-06-15"),
    {operationType:"Day_Number_of_Week",
        startDayOfWeek:"Sunday"}) // Output : 1

Haftanın ilk günü Salı ise, tarih olarak 15 Haziran 2015'te yılın hangi hafta sayısı takip edilecektir.

 DateLibrary.getWeekNumber(new Date("2015-06-15"),
    {operationType:"Week_of_Year",
        startDayOfWeek:"Tuesday"}) // Output : 24

Özel tarih gereksinimlerinizi karşılamak için diğer işlevlere bakın.

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.