Tech Help

Unix Timestamp во датум: секунди, милисекунди и UTC објаснети

Претворете Unix timestamp во датум. Погледнете секунди наспроти милисекунди, UTC наспроти локално време, ISO 8601 и како датумот се враќа во epoch време.

Краток одговор

Unix timestamp го претставува времето во однос на Unix epoch: 1970-01-01 00:00:00 UTC. Обично се чува како секунди од epoch или како милисекунди од epoch.

За правилно претворање прво треба да ја знаете единицата. 1720000000 секунди се 2024-07-03 09:46:40 UTC. 1720000000000 милисекунди се истиот миг.

Timestamp означува миг. UTC, локално време или IANA зона го менуваат само начинот на кој тој миг се прикажува.

Ова е водич за претворање: timestamp во датум, датум во timestamp, UTC наспроти локално и ISO 8601. Ако вредноста неочекувано стане датум од 1970, тоа обично е неусогласеност на секунди и милисекунди—видете Unix Timestamp: секунди наспроти милисекунди — зошто датумот покажува 1970.

Што е Unix Timestamp?

Unix timestamp, Unix time и epoch time обично значат изминато време од 1970-01-01 00:00:00 UTC. Бројот не е форматирана низа датум со етикета на временска зона. Истиот миг може да се прикаже со различни часови во UTC, Њујорк, Токио или Сеул. Unix timestamp не се секогаш секунди—милисекундите се чести во практика.

Што е Unix Epoch?

Unix epoch е 1970-01-01 00:00:00 UTC. Timestamp 0 е тој миг. Позитивен timestamp е по epoch. Некои системи дозволуваат негативен timestamp за време пред epoch, но поддршката на јазици и опсези на датуми варира.

Дали мојот timestamp е во секунди или милисекунди?

1720000000 се секунди; 1720000000000 се милисекунди; тоа е истиот миг. Практична назнака: околу 10 цифри често значи секунди, околу 13 често милисекунди. Бројот на цифри е само евристика. Минати или идни датуми, други единици или сопствен epoch може да изгледаат поинаку. Претворувач на датум и време претвора со секунди, милисекунди или auto (≤10 цифри како секунди, ≥13 како милисекунди)—изберете ја единицата кога ја знаете.

Зошто погрешната единица дава погрешен датум?

JavaScript Date очекува милисекунди. Ако 1720000000 го предадете како милисекунди, добивате 1970-01-20 21:46:40 UTC. Третирањето на милисекунди како секунди, или обратно, паѓа на сосема друг датум. За патот на дијагностика околу 1970, видете Unix Timestamp: секунди наспроти милисекунди — зошто датумот покажува 1970.

new Date(1720000000);
// 1970-01-20T21:46:40.000Z

Како да претворите Unix timestamp во секунди

Помножете ги секундите со 1000 за да добиете милисекунди. JavaScript Date е заснован на милисекунди, па користете new Date(timestamp * 1000).

const timestamp = 1720000000;
const date = new Date(timestamp * 1000);
date.toISOString();
// 2024-07-03T09:46:40.000Z

Како да претворите timestamp во милисекунди

Предајте ги милисекундите директно на Date. Не множете timestamp во милисекунди повторно со 1000.

const timestamp = 1720000000000;
const date = new Date(timestamp);
date.toISOString();
// 2024-07-03T09:46:40.000Z

Зошто истиот timestamp покажува различно време?

Unix timestamp е еден миг. Приказот во UTC, локално време или избрана IANA зона го менува циферблатот. За 1720000000000, UTC е 2024-07-03 09:46:40. America/New_York тој ден е 2024-07-03 05:46:40 (EDT). Asia/Seoul е 2024-07-03 18:46:40 (UTC+9). Вредностите за Њујорк и Сеул доаѓаат од Intl, не од слоган за фиксен помест.

Дали Unix timestamp содржи временска зона?

Не. Не чува ни America/New_York ни Asia/Seoul. Timestamp идентификува миг. Зоната се применува кога тој миг го форматирате како читлив датум и време. Epoch е дефиниран во однос на UTC; самиот број не е „UTC поле за зона“.

Unix Timestamp наспроти ISO 8601

1720000000 и 2024-07-03T09:46:40Z можат да го претстават истиот миг. Unix е нумеричка вредност на изминато време. ISO 8601 е читлива низа датум-време и може да заврши со Z (UTC) или нумерички помест. Z значи UTC; понекогаш се вика Zulu. Не се ист формат.

Како да го добиете тековниот Unix timestamp?

Во JavaScript, Date.now() се милисекунди. Math.floor(Date.now() / 1000) се секунди. Не вградувајте „сега“ во статија; се поместува.

Date.now();
Math.floor(Date.now() / 1000);

Можете ли датум да го вратите во Unix timestamp?

Да. Од експлицитна UTC ISO низа, getTime() враќа милисекунди; поделете со 1000 и заокружете надолу за секунди.

const date = new Date("2024-07-03T09:46:40Z");
date.getTime();
// 1720000000000
Math.floor(date.getTime() / 1000);
// 1720000000

Внимавајте на двосмислени формати на датум

03/07/2024 може да значи 7 март или 3 јули, зависно од locale. Претпочитајте датум и време во ISO стил со зона или помест. Претворувач на датум и време одбива двосмислени нумерички датуми како 01/02/2026 и бара избирач на датум или вредност во ISO стил.

Што е со летното сметање на времето?

Unix timestamp не чува знаменце за летно време. Локалниот приказ ги применува правилата на зоната. America/New_York користи различни помести зима и лето, па „Њујорк е UTC-5“ не е секогаш точно.

Дали Unix timestamp ги вклучува престапните секунди?

Типичното POSIX/Unix време не ги брои престапните секунди како дополнителни SI секунди на непрекината скала. Платформите може да се разликуваат. За секојдневно претворање овој детаљ можете да го занемарите.

Чести грешки при претворање Unix timestamp

Овие мешања даваат погрешен датум или погрешен час:

Секунди третирани како милисекунди
Современа вредност во секунди тогаш паѓа близу 1970 во JavaScript Date.

Милисекунди третирани како секунди
Датумот скока далеку во иднината.

Третирање на 10 или 13 цифри како закон
Бројот на цифри е назнака, не гаранција.

Мешање на UTC со локално време
Мигот е ист; прикажаниот час може да се разликува.

Претпоставка дека зоната е во бројот
IANA имињата се применуваат при приказ, не се чуваат во timestamp.

Двосмислени датуми, слогани за DST или дополнително ×1000
Користете внес во ISO стил. Не множете timestamp во милисекунди повторно.

Проверени UTC примери

Овие UTC времиња се пресметани, не погодени:

Влез Единица UTC
0 секунди 1970-01-01 00:00:00
1720000000 секунди 2024-07-03 09:46:40
1720000000000 милисекунди 2024-07-03 09:46:40
1720000000 милисекунди 1970-01-20 21:46:40

Едноставен водич за одлука при претворање

Ако изворот ја именува единицата, користете ја. Ако не, бројот на цифри е назнака—потоа проверете дали датумот изгледа веродостојно. Претворете секунди во милисекунди кога API бара ms. За приказ изберете UTC, локално или IANA зона. ISO 8601 е корисен за чување и размена.

  • Имате Unix timestamp
  • Единица наведена? Користете ја; инаку проверете ја големината
  • Секунди? ×1000 ако API треба милисекунди
  • Милисекунди? Користете директно во API заснован на ms
  • Прикажете како UTC, локално или IANA зона
  • Треба низа? ISO 8601 може да одговара
Бројот е миг. Форматирањето го избира циферблатот.
Timestamp е миг, не формат за приказ

Timestamp идентификува точка во времето. UTC, локално време или зона само одлучуваат како тој миг се покажува на човек.

Претворете Unix timestamp во прелистувачот

NEXNARA Претворувач на датум и време претвора Unix секунди и милисекунди, покажува UTC, локално време и ISO 8601, и претвора меѓу IANA временски зони.

Unix режимот поддржува секунди, милисекунди, auto единица, тековно време и датум-во-timestamp. Режимот на зона пребарува IANA имиња, ја користи зоната на прелистувачот и применува Intl помести свесни за DST. Режимот на формат има излез читлив по locale, приказ 12/24 часа и заштита од двосмислен датум. Разлика на датуми е одделен режим.

Претворањето ги користи Date и Intl API на прелистувачот. Вредности надвор од она што Date може да претстави се одбиваат. Auto единицата не погодува вредности со 11–12 цифри; изберете секунди или милисекунди.

Самото претворање на датум и timestamp се случува во вашиот прелистувач. Влезовите не се испраќаат на сервер на NEXNARA за претворање. Рекламите и другите функции на сајтот сè уште ја користат мрежата.

Залепете timestamp во Претворувач на датум и време и споредете UTC, локално време и ISO 8601 пред да ја изберете единицата.

FAQ

Како да претворам Unix timestamp во датум?

Знајте ја единицата. За секунди во JavaScript користете new Date(n * 1000). За милисекунди, new Date(n). Потоа форматирајте како UTC, локално или зона.

Дали Unix timestamp е во секунди или милисекунди?

Може и двете. Околу 10 цифри често значи секунди, а околу 13 милисекунди, но тоа е евристика, не правило.

Зошто мојот timestamp покажува 1970?

Обично вредност во секунди е прочитана како милисекунди. Видете Unix Timestamp: секунди наспроти милисекунди — зошто датумот покажува 1970.

Дали Unix timestamp е секогаш UTC?

Epoch е дефиниран во однос на UTC, а бројот идентификува миг. Зоната на приказ е одделна. Тоа не е зачувано „UTC поле за зона“.

Дали Unix timestamp содржи временска зона?

Не. Не носи IANA идентификатор. Зоната се применува кога го форматирате мигот.

Како да претворам датум во Unix timestamp?

Од UTC ISO низа, date.getTime() се милисекунди; Math.floor(date.getTime() / 1000) се секунди.

Tech Help

Unix Timestamp: секунди наспроти милисекунди — зошто датумот покажува 1970

Ако Unix timestamp стане датум близу 1970, често секундите се прочитани како милисекунди. Како да ги разликувате единиците.

Tech Help

JPG vs PNG за снимки од екран: кој е помал?

Изберете JPG или PNG за снимки од екран според содржината: интерфејсот и текстот почесто остануваат поостри како PNG; кадри полни со фотографии може да бидат помали како JPEG.

Tech Help

Зошто JSON.parse вели "Unexpected token"?

JSON.parse фрла Unexpected token кога текстот не е валиден JSON. Отстранете единечни наводници, завршни запирки, HTML одговори и позицијата на грешката.

Tech Help

Како да ја намалите големината на сликата без да стане замаглена

Намалете ја големината на фотографии и слики со прифатлив визуелен квалитет. Прво намалете ги преголемите димензии, потоа умерено компресирајте, потоа изберете соодветен формат.

Tech Help

Зошто Base64 ги зголемува датотеките?

Base64 обично ги зголемува бинарните податоци за околу една третина. Погледнете ја структурата 3 бајти во 4 знаци, дополнувањето, трошокот на Data URL и кога дополнителната големина вреди.