PL
Jak pobrać aktualny czas w JavaScript?
3
points
W JavaScript do uzyskania aktualnego czasu przydatna jest klasa Date
.
Szybkie rozwiązanie:
// ONLINE-RUNNER:browser;
var now = Date.now();
console.log('Bieżący czas unix w milisekundach: ' + now);
1. Przykład predefiniowanych metod
// ONLINE-RUNNER:browser;
var now = new Date();
console.log('Bieżący czas unix w milisekundach: ' + now.getTime());
console.log('Bieżąca data: ' + now.toDateString());
console.log('Bieżący czas: ' + now.toTimeString());
console.log('Bieżąca data i czas: ' + now.toString());
Uwaga: podczas korzystania z metody
to...String
należy zachować ostrożność ze względu na specyficzne formatowanie danych i czasu w lokalizacji.
3. Formatowanie niestandardowe
Interfejs API w języku JavaScript udostępnia różne metody, które pozwalają nam tworzyć własne formatowanie daty i czasu.
3.1. Przykład niestandardowego formatowania daty i czasu w nowszych wersjach JavaScript (>=ES6)
Metoda renderNumber
może zostać zastąpiona wbudowaną metodą padStart
, gdy używany jest nowoczesny interfejs API JavaScript.
// ONLINE-RUNNER:browser;
const renderNumber = (value, length) =>
{
let result = String(value);
for (; length > result.length; length -= 1)
result = '0' + result;
return result;
};
const renderDate = (date) =>
{
const year = renderNumber(date.getFullYear(), 4);
const month = renderNumber(date.getMonth() + 1, 2);
const day = renderNumber(date.getDate(), 2);
return `${year}.${month}.${day}`;
};
const renderTime = (date) =>
{
const hours = renderNumber(date.getHours(), 2);
const minutes = renderNumber(date.getMinutes(), 2);
const seconds = renderNumber(date.getSeconds(), 2);
const milliseconds = renderNumber(date.getMilliseconds(), 3);
return `${hours}:${minutes}:${seconds}.${milliseconds}`;
};
const renderDateTime = (date) =>
{
const dateText = renderDate(date);
const timeText = renderTime(date);
return `${dateText} ${timeText}`;
};
// Przykład użycia:
var now = new Date();
var date = renderDate(now);
var time = renderTime(now);
var dateTime = renderDateTime(now);
console.log('Bieżąca data: ' + date);
console.log('Bieżący czas: ' + time);
console.log('Bieżąca data i czas: ' + dateTime);
3.1. Przykład niestandardowego formatowania daty i godziny w starszych wersjach JavaScript
// ONLINE-RUNNER:browser;
function renderNumber(value, length) {
var result = String(value);
for(; length > result.length; length -= 1) {
result = '0' + result;
}
return result;
}
function renderDate(date) {
var year = date.getFullYear();
var month = date.getMonth() + 1;
var day = date.getDate();
var text = renderNumber(year, 4)
+ '.' + renderNumber(month, 2)
+ '.' + renderNumber(day, 2);
return text;
}
function renderTime(date) {
var hour = date.getHours();
var minute = date.getMinutes();
var second = date.getSeconds();
var millisecond = date.getMilliseconds();
var text = renderNumber(hour, 2)
+ ':' + renderNumber(minute, 2)
+ ':' + renderNumber(second, 2)
+ '.' + renderNumber(millisecond, 3);
return text;
}
function renderDateTime(date) {
var dateText = renderDate(date);
var timeText = renderTime(date);
return dateText + ' ' + timeText;
}
// Przykład użycia:
var now = new Date();
var date = renderDate(now);
var time = renderTime(now);
var dateTime = renderDateTime(now);
console.log('Bieżąca data: ' + date);
console.log('Bieżący czas: ' + time);
console.log('Bieżąca data i czas: ' + dateTime);