Saat Dilimi
Saat dilimi, saat dilimleri arasında ayrıştırma veya görüntüleme için dayjs.tz, .tz, .tz.guess ve .tz.setDefault API'lerini ekler.
var utc = require('dayjs/plugin/utc');
// import utc from 'dayjs/plugin/utc' // ES 2015
var timezone = require('dayjs/plugin/timezone'); // utc eklentisine bağımlıdır
// import timezone from 'dayjs/plugin/timezone' // ES 2015
dayjs.extend(utc);
dayjs.extend(timezone);
const timestamp = '2014-06-01 12:00';
const tz = 'America/New_York';
const dayjsLocal = dayjs(timestamp); // UTC olarak varsayılır
//dayjsLocal.toISOString() -> 2014-06-01T12:00:00.000Z
//dayjsLocal.format('YYYY-MM-DDTHH:mm:ss') -> 2014-06-01T12:00:00
const dayjsAmerica = dayjsLocal.tz(tz); // Mevcut zamanı UTC olarak kabul eder
//dayjsAmerica.toISOString() -> 2014-06-01T12:00:00.000Z
//dayjsAmerica.format('YYYY-MM-DDTHH:mm:ss') -> 2014-06-01T08:00:00
const dayjsAmericaKeep = dayjsLocal.tz(tz, true); // Mevcut zamanı yerel saat olarak kabul eder
//dayjsAmericaKeep.toISOString() -> 2014-06-01T16:00:00.000Z
//dayjsAmericaKeep.format('YYYY-MM-DDTHH:mm:ss') -> 2014-06-01T12:00:00Kullanıcının saat dilimini tahmin etme:
dayjs.tz.guess();Bir saat diliminde ayrıştırma:
const d1 = dayjs.tz('2013-11-18 11:55', 'Asia/Taipei');
d1.format(); // => 2013-11-18T11:55:00+08:00
d1.toISOString(); // => 2013-11-18T03:55:00.000ZBir saat dilimine dönüştürme:
const d2 = dayjs.utc('2013-11-18 11:55').tz('Asia/Taipei');
d2.format(); // => 2013-11-18T19:55:00+08:00
d2.toISOString(); // => 2013-11-18T11:55:00.000ZVarsayılan saat dilimini ayarlama ve sıfırlama (tz tarafından kullanılır):
// Varsayılan saat dilimini ayarlama
dayjs.tz.setDefault('America/New_York');
// Varsayılan saat dilimini sistem saat dilimine sıfırlama
dayjs.tz.setDefault();Moment'e Göre Farklılıklar
Varsayılan saat dilimini kullanmak, moment(dateValue) fonksiyonunun bu saat dilimini kullanmasını sağlar (ancak moment.tz(dateValue, timezone) hala ikinci parametreyi gerektirir).
Ancak dayjs(dateValue), dayjs.tz.setDefault kullanılsa dahi her zaman yerel saat dilimini kullanır. Yalnızca dayjs.tz(dateValue) (ikinci parametre olmadan) varsayılan saat dilimini kullanır.
