Göreceli Zaman
Locale#relativeTime, dayjs#from fonksiyonu için kullanılacak değiştirme dizelerini içeren bir nesne olmalıdır.
TIP
Bunun çalışabilmesi için UpdateLocale eklentisi gereklidir.
dayjs.extend(updateLocale);
dayjs.updateLocale('en', {
relativeTime: {
future: '%s sonra',
past: '%s önce',
s: 'birkaç saniye',
m: 'bir dakika',
mm: '%d dakika',
h: 'bir saat',
hh: '%d saat',
d: 'bir gün',
dd: '%d gün',
M: 'bir ay',
MM: '%d ay',
y: 'bir yıl',
yy: '%d yıl',
},
});Locale#relativeTime.future gelecekteki zamanlar için önek/sonek belirtir. Locale#relativeTime.past geçmişteki zamanlar için önek/sonek belirtir.
Diğer durumlarda, tek karakterli anahtarlar tekil, çift karakterli anahtarlar ise çoğul anlam ifade eder.
Ek Belirteç İşleme
Bir yerel ayarın bir belirteç için özel bir işleme ihtiyacı varsa, o belirteci bir dize yerine aşağıdaki imzaya sahip bir fonksiyon olarak tanımlayabilirsiniz. Fonksiyon bir dize döndürmelidir.
relativeTime: {
...,
yy: function (number, withoutSuffix, key, isFuture) {
return string;
}
}number argümanı, ilgili anahtar için birim sayısını belirtir. Örneğin, m için sayı dakika sayısıdır.
withoutSuffix argümanı, belirtecin sonek olmadan mı görüntüleneceğini (true) yoksa sonek ile mi görüntüleneceğini (false) belirtir.
key argümanı, Locale#relativeTime nesnesindeki değiştirme anahtarını ifade eder (örneğin s, m, mm, h vb.).
isFuture argümanı, gelecekteki sonek/önekin mi (true) yoksa geçmiş önek/sonekin mi (false) kullanılacağını belirtir.
Göreceli Zaman Eşikleri ve Yuvarlama
Bu eklentiyi kullanırken eşik ve yuvarlama yapılandırmasını güncellemek için bir yapılandırma nesnesi geçirebilirsiniz.
var config = {
thresholds: [{}],
rounding: function
}
dayjs.extend(relativeTime, config)thresholds, bir birimin ne zaman dakika, saat vb. olarak kabul edildiğini tanımlayan bir nesne dizisidir. Örneğin, varsayılan olarak 45 saniyeden fazla bir süre bir dakika, 22 saatten fazla bir süre bir gün vb. olarak kabul edilir. Bunları değiştirmek için aşağıdaki gibi yeni bir thresholds tanımlayabilirsiniz.
// Kesin eşikler
var thresholds = [
{ l: 's', r: 1 },
{ l: 'm', r: 1 },
{ l: 'mm', r: 59, d: 'dakika' },
{ l: 'h', r: 1 },
{ l: 'hh', r: 23, d: 'saat' },
{ l: 'd', r: 1 },
{ l: 'dd', r: 29, d: 'gün' },
{ l: 'M', r: 1 },
{ l: 'MM', r: 11, d: 'ay' },
{ l: 'y', r: 1 },
{ l: 'yy', d: 'yıl' },
];Ayrıca kendi eşik anahtarınızı ekleyebilir ve yerel ayarı buna göre güncelleyebilirsiniz.
var thresholds = [
...,
{ l: 'ss', r: 59, d: 'saniye' }
]
dayjs.updateLocale('en', {
relativeTime: {
...,
ss: "%d saniye"
}
})rounding, yerel ayarda belirtilen relativeTime biçim dizesine verilmeden önce sayıyı işlemek için kullanılan bir Function'dır. Bunu değiştirmek için şöyle yeni bir rounding geçirebilirsiniz.
// Varsayılan: Math.round
var rounding = Math.floor;