Aracılığıyla paylaş


<chrono> işlevleri

abs(duration)

ise d >= d.zero()döndürürd; aksi takdirde döndürür-d.

Sözdizimi

template <class Rep, class Period>
constexpr duration<Rep, Period> abs(duration<Rep, Period> d ); // C++17

Parametreler

Rep
Kaynağın durationdiç gösteriminin türü.

Period
Bir std::ratio saniyenin kaynak Rep türüne (saniye başına Rep) oranını temsil eden bir tür.

d
Kaynak duration nesne.

Dönüş değeri

değerinin dmutlak değeri.

Örnek: abs(duration)

// compile using: /std:c++latest
#include <chrono>
#include <iostream>

int main()
{
    std::cout << abs(-24h);
    return 0;
}
24h

ceil(duration)

Hedef türünde belirtilen durationdeğerinden büyük veya buna eşit en küçük temsil edilebilir duration değeri döndürür.

Sözdizimi

template<class ToDuration, class Rep, class Period>
constexpr ToDuration
ceil(const duration<Rep, Period>& d);  // C++17

Parametreler

ToDuration
Hedef duration türü. uzmanlık alanı olarak durationkısıtlanmış.

Rep
Kaynağın durationdiç gösteriminin türü.

Period
Bir std::ratio saniyenin kaynak Rep türüne (saniye başına Rep) oranını temsil eden bir tür.

d
Kaynak duration nesne.

Dönüş değeri

içinde ToDuration parametresinden dbüyük veya ona eşit en duration küçük temsil edilebilir değeri döndürür.

Açıklamalar

ceil türü bir örneği olmadığı sürece ToDuration aşırı yükleme çözümlemesine durationkatılmaz.

ceil(time_point)

Hedefte duration belirtilen zaman noktasından büyük veya buna eşit en küçük zaman noktasını döndürür.

Sözdizimi

template<class ToDuration, class Clock, class Duration>
constexpr time_point<Clock, ToDuration>
ceil(const time_point<Clock, Duration>& t);  // C++17

Parametreler

ToDuration
Hedef duration türü. uzmanlık alanı olarak durationkısıtlanmış.

Clock
Sonucun ortak saat türü ve kaynak parametresi tp.

Duration
duration türü.tp

tp
Kaynak time_point nesne.

Dönüş değeri

ile temsil edilebilen ToDuration en küçük zaman noktasını döndürür ve bu değer değerinden büyük veya buna eşit olur tp. Etkili bir şekilde, time_point<Clock, ToDuration>(ceil<ToDuration>(tp.time_since_epoch()));.

Açıklamalar

ceil türü bir örneği olmadığı sürece ToDuration aşırı yükleme çözümlemesine durationkatılmaz.

clock_cast

Bir time_point saatin bir saatini başka bir saat için eşdeğere time_point dönüştürür.

Sözdizimi

template <class DestClock, class SourceClock, class Duration> 
auto clock_cast(const time_point<SourceClock, Duration>& t); // C++20

Parametreler

DestClock
dönüştürülecek time_point saat türü.

Duration
durationSourceClockbelirttiğiniz veya değerinin değeri.

SourceClock
Dönüştürülecek saat time_point türü temel alır.

t
time_point Dönüştürülecek.

Dönüş değeri

time_point eşdeğerit, ancak öğesine özgü.DestClock

Açıklamalar

ve parametreleri SourceClockDuration , açıkça geçirilmediğinde sınıf şablonu bağımsız değişken kesintisi yoluyla çıkarılabilir. Örneğin, verilen clock_cast<utc_clock>(file_clock::now()), SourceClock olarak file_clockçıkarılır ve Duration olarak çıkarılır file_clock::duration.

Aşağıdaki iyi biçimlendirilmiş saat dönüştürmeleri listesinden, öğesinden SourceClockDestClock öğesine ulaşmak için en az dönüştürme adımı gerektiren seçilidir.

clock_time_conversion<DestClock, SourceClock>{}(t)

clock_time_conversion<DestClock, system_clock>{}(
	clock_time_conversion<system_clock, SourceClock>{}(t))

clock_time_conversion<DestClock, utc_clock>{}(
	clock_time_conversion<utc_clock, SourceClock>{}(t))

clock_time_conversion<DestClock, utc_clock>{}(
	clock_time_conversion<utc_clock, system_clock>{}(
		clock_time_conversion<system_clock, SourceClock>{}(t)))

clock_time_conversion<DestClock, system_clock>{}(
	clock_time_conversion<system_clock, utc_clock>{}(
		clock_time_conversion<utc_clock, SourceClock>{}(t)))

Neler clock_time_conversion yaptığı hakkında daha fazla bilgi için bkz clock_time_conversion . yapı.

Örnek clock_cast

// compile using: /std:c++latest
#include <iostream>
#include <chrono>

using namespace std::chrono;

int main()
{
    utc_clock::time_point t = clock_cast<utc_clock>(file_clock::now());
    std::cout << t;

    return 0;
}
2021-10-11 22:58:17.8540720

current_zone

Geçerli saat dilimi nesnesini alır.

Sözdizimi

const time_zone* current_zone();  // C++20

Dönüş değeri

bir çağrısı get_tzdb().current_zone()tarafından sanki öğesine time_zone bir işaretçi döndürür. Saat dilimi veritabanına ilk başvuruysa ve saat dilimi veritabanı başlatılamıyorsa bir runtime_error özel durum oluşturur.

duration_cast

Belirtilen hedef duration türüne a duration yazar.

Sözdizimi

template <class ToDuration, class Rep, class Period>
constexpr ToDuration
duration_cast(const duration<Rep, Period>& d);  // C++11

Parametreler

ToDuration
Hedef duration türü. uzmanlık alanı olarak durationkısıtlanmış.

Rep
Kaynağın durationdiç gösteriminin türü.

Period
Bir std::ratio saniyenin kaynak Rep türüne (saniye başına Rep) oranını temsil eden bir tür.

d
Hedef duration türe yayın için kaynak duration nesne.

Dönüş değeri

türünü temsil durationdeden bir ToDuration nesne. Hedef türe sığması için gerekirse kesilir. Kayan noktanın duration bir integrale duration dönüştürülme sonucu, kaynak bir NaNsonsuz içeriyorsa veya hedefte durationtemsil edilemeyecek kadar büyükse tanımsız olur.

Açıklamalar

Kaynak dönem hedef dönem tarafından tam olarak bölünebilir olduğunda (örneğin, dakikaları saniyeye dönüştürdüğünüzde) türler arasında duration dönüştürme yapmak için kullanmanız duration_cast gerekmez. Ayrıca, kayan nokta duration türleri arasında dönüştürme yapmak için buna ihtiyacınız yoktur. Sıradan atamaları veya oluşturucuları kullanarak her iki dönüştürmeyi duration de yapabilirsiniz.

duration_cast , örneği olmadığı sürece ToDuration aşırı yükleme çözümlemesine durationkatılmaz. Tüm dönüştürmeleri örtük dönüştürmeler yerine kullanarak static_cast yapar. Mümkünse çarpmalardan ve bölmelerden kaçınılır. Örneğin, derleyici hedef ve kaynak dönemlerin ortak oranının 1 paydası veya paydası olduğunu bildiğinden. Hesaplamalar kullanılabilir en geniş türde yapılır, ardından bitirildiğinde sonuç türüne göre static_cast dönüştürülür.

Örnek duration_cast

// compile using: /std:c++latest
#include <iostream>
#include <chrono>

using namespace std::chrono;

int main()
{
    seconds s(1);
    std::cout << duration_cast<microseconds>(s) << '\n';
    std::cout << duration_cast<nanoseconds>(s) << '\n';

    return 0;
}
1000000us
1000000000ns

floor(duration)

Belirtilen durationdeğerinden küçük veya buna eşit olan hedef türündeki en büyük temsil edilebilir duration değeri döndürür.

Sözdizimi

template<class ToDuration, class Rep, class Period>
constexpr ToDuration
floor(const duration<Rep, Period>& d);  // C++17

Parametreler

ToDuration
Hedef duration türü. uzmanlık alanı olarak durationkısıtlanmış.

Rep
Kaynağın durationdiç gösteriminin türü.

Period
Bir std::ratio saniyenin kaynak Rep türüne (saniye başına Rep) oranını temsil eden bir tür.

d
Kaynak duration nesne.

Dönüş değeri

parametresinden dküçük veya ona eşit olan içindeki ToDuration en büyük duration temsil edilebilir değeri döndürür.

Açıklamalar

floor türü bir örneği olmadığı sürece ToDuration aşırı yükleme çözümlemesine durationkatılmaz.

floor(time_point)

Hedefte duration belirtilen zaman noktasından küçük veya buna eşit en büyük zaman noktasını döndürür.

Sözdizimi

template<class ToDuration, class Clock, class Duration>
constexpr time_point<Clock, ToDuration>
floor(const time_point<Clock, Duration>& tp);  // C++17

Parametreler

ToDuration
Hedef duration türü. uzmanlık alanı olarak durationkısıtlanmış.

Clock
Sonucun ortak saat türü ve kaynak parametresi tp.

Duration
duration türü.tp

tp
Kaynak time_point nesne.

Dönüş değeri

küçük veya eşit tpolan kullanılarak ToDuration temsil edilebilen en büyük zaman noktasını döndürür. Etkili bir şekilde, time_point<Clock, ToDuration>(floor<ToDuration>(tp.time_since_epoch()));.

Açıklamalar

floor türü bir örneği olmadığı sürece ToDuration aşırı yükleme çözümlemesine durationkatılmaz.

from_stream

Giriş akışını, belirtilen biçimi kullanarak , month, , weekdaymonth_day, year, , year_month, year_month_dayvb. gibi dayzaman veya aralık türlerinden birinde std::chrono ayrıştırın.

Ayrıştırma başarısız olursa (is.setstateios_base::failbit) çağrılır ve çıkış parametresi değiştirilmez.

// 1) day - C++20
template<class charT class traits, class Alloc = allocator<charT>>
basic_istream<charT, traits>&
from_stream(
    basic_istream<charT, traits>& is, const charT* fmt,
    day& d, basic_string<charT, traits, Alloc>* abbrev = nullptr,
    minutes* offset = nullptr);

// 2) duration - C++20
template<class charT, class traits, class Rep, class Period, class Alloc = allocator<charT>>
basic_istream<charT, traits>&
from_stream(
    basic_istream<charT, traits>& is, const charT* fmt,
    duration<Rep, Period>& dur, basic_string<charT, traits, Alloc>* abbrev = nullptr,
    minutes* offset = nullptr);

// 3) file_time - C++20
template<class charT, class traits, class Duration, class Alloc = allocator<charT>>
basic_istream<charT, traits>&
from_stream(
    basic_istream<charT, traits>& is, const charT* fmt,
    file_time<Duration>& ft, basic_string<charT, traits, Alloc>* abbrev = nullptr,
    minutes* offset = nullptr);

// 4) gps_time - C++20
template<class charT, class traits, class Duration, class Alloc = allocator<charT>>
basic_istream<charT, traits>&
from_stream(
    basic_istream<charT, traits>& is, const charT* fmt,
    gps_time<Duration>& gt, basic_string<charT, traits, Alloc>* abbrev = nullptr,
    minutes* offset = nullptr);

// 5) local_time - C++20
template<class charT, class traits, class Duration, class Alloc = allocator<charT>>
basic_istream<charT, traits>&
from_stream(
    basic_istream<charT, traits>& is, const charT* fmt,
    local_time<Duration>& lt, basic_string<charT, traits, Alloc>* abbrev = nullptr,
    minutes* offset = nullptr);

// 6) month - C++20
template<class charT, class traits, class Alloc = allocator<charT>>
basic_istream<charT, traits>&
from_stream(
    basic_istream<charT, traits>& is, const charT* fmt,
    month& m, basic_string<charT, traits, Alloc>* abbrev = nullptr,
    minutes* offset = nullptr);

// 7) month_day - C++20
template<class charT, class traits, class Alloc = allocator<charT>>
basic_istream<charT, traits>&
from_stream(
    basic_istream<charT, traits>& is, const charT* fmt,
    month_day& md, basic_string<charT, traits, Alloc>* abbrev = nullptr,
    minutes* offset = nullptr);

// 8) utc_time  - C++20
template<class charT, class traits, class Duration, class Alloc = allocator<charT>>
basic_istream<charT, traits>&
from_stream(
    basic_istream<charT, traits>& is, const charT* fmt,
    utc_time<Duration>& ut, basic_string<charT, traits, Alloc>* abbrev = nullptr,
    minutes* offset = nullptr);

// 9) sys_time - C++20
template<class charT, class traits, class Duration, class Alloc = allocator<charT>>
basic_istream<charT, traits>&
from_stream(
    basic_istream<charT, traits>& is, const charT* fmt,
    sys_time<Duration>& st, basic_string<charT, traits, Alloc>* abbrev = nullptr,
    minutes* offset = nullptr);

// 10) tai_time - C++20
template<class charT, class traits, class Duration, class Alloc = allocator<charT>>
basic_istream<charT, traits>&
from_stream(
    basic_istream<charT, traits>& is, const charT* fmt,
    tai_time<Duration>& tt, basic_string<charT, traits, Alloc>* abbrev = nullptr,
    minutes* offset = nullptr);

// 11) weekday - C++20
template<class charT, class traits, class Alloc = allocator<charT>>
basic_istream<charT, traits>&
from_stream(
    basic_istream<charT, traits>& is, const charT* fmt,
    weekday& wd, basic_string<charT, traits, Alloc>* abbrev = nullptr,
    minutes* offset = nullptr);

// 12) year - C++20
template<class charT, class traits, class Alloc = allocator<charT>>
basic_istream<charT, traits>&
from_stream(
    basic_istream<charT, traits>& is, const charT* fmt,
    year& y, basic_string<charT, traits, Alloc>* abbrev = nullptr,
    minutes* offset = nullptr);

// 13) year_month - C++20
template<class charT, class traits, class Alloc = allocator<charT>>
basic_istream<charT, traits>&
from_stream(
    basic_istream<charT, traits>& is, const charT* fmt,
    year_month& ym, basic_string<charT, traits, Alloc>* abbrev = nullptr,
    minutes* offset = nullptr);

// 14) year_month_day - C++20
template<class charT, class traits, class Alloc = allocator<charT>>
basic_istream<charT, traits>&
from_stream(
    basic_istream<charT, traits>& is, const charT* fmt,
    year_month_day& ymd, basic_string<charT, traits, Alloc>* abbrev = nullptr,
    minutes* offset = nullptr);

Şablon parametreleri

Alloc
Dizenin bellek ayırmasını ve serbest bırakmasını işleyen ayırıcı nesnesini temsil eden tür.

charT
Akıştan okunacak ve dizede depolanacak tek bir karakterin veri türü. C++ Standart Kitaplığı, bu sınıf şablonunun, için , wstringu16stringwchar_t, için char16_tve u32stringchar32_tiçin türündeki öğelerin tür chartanımlarıyla string birlikte uzmanlıklar sağlar.

traits
charT ve basic_istream uzmanlık özniteliklerini basic_string açıklar.

Rep
Bir türün duration iç gösterim türü.

Period
Bir std::ratio saniyenin kaynak Rep türüne (saniye başına Rep) oranını temsil eden bir tür.

Duration
duration Zaman özelleştirmesi için kullanılan tür.

Parametreler

abbrev
değilse nullptrve biçim belirtici %Z belirtilirse abbrev ve ayrıştırma başarılı olursa ayrıştırılan abbrev değeri içerir.

d
Ayrıştırma başarılı olursa, işlevin döndürdüğü ayrıştırılan günü içerir.

dur
akışından duration ayrıştırıldı.

fmt
Girişle eşleştirmek için kullanılan biçim dizesi. Ayrıştırma biçimlendirme seçenekleri listesi için bkz . Biçim dizelerini ayrıştırma.

ft
akışından file_time ayrıştırıldı.

gt
akışından gps_time ayrıştırıldı.

is
Ayrıştırmak için giriş akışı.

lt
akışından local_time ayrıştırıldı.

m
akışından month ayrıştırıldı.

md
akışından month_day ayrıştırıldı.

offset
nullptrdeğilse ve veya gibi %0z%Ez biçim belirtici %z veya değiştirilmiş değişken belirtilirse offset ve ayrıştırma başarılı olursa, offset ayrıştırılan değere işaret eder.

st
akışından sys_time ayrıştırıldı.

tt
akışından tai_time ayrıştırıldı.

ut
akışından utc_time ayrıştırıldı.

wd
akışından weekday ayrıştırıldı.

y
akışından year ayrıştırıldı.

ym
akışından year_month ayrıştırıldı.

ymd
akışından year_month_day ayrıştırıldı.

Dönüş değeri

Giriş akışı, is

Örnek: from_stream

// compile using: /std:c++latest
#include <chrono>
#include <iostream>

int main()
{
    std::istringstream str{ "22" };
    std::basic_istream<char> stream{ str.rdbuf() };
    std::chrono::day d;
    std::chrono::from_stream(stream, "%d", d);
    std::cout << d << "\n";
    return 0;
}
22

Açıklamalar

7) Kullanılır ve başarıyla ayrıştırılırsa%Z, bu değer null olmayan değere *abbrev abbrev atanır. (veya değiştirilmiş bir değişken) kullanılırsa %z ve başarıyla ayrıştırılırsa, bu değer null olmayan değere *offsetoffset atanır.

12) Kullanılırsa ve başarıyla ayrıştırılırsa %Z , bu değer null olmayan değere *abbrevabbrev atanır. (veya değiştirilmiş bir değişken) kullanılırsa %z ve başarıyla ayrıştırılırsa, bu değer null olmayan değere *offsetoffset atanır.

from_stream dizeleri biçimlendirme

Biçim şu dizelerden biri olabilir:

Date

Belirleyici Tanım
%D Eşdeğer %m/%d/%y
%F
%NF
ile eşdeğerdir %Y-%m-%d. Genişlik Nile değiştirilirse, genişlik yalnızca %Yöğesine uygulanır.
%x
%Ex
Yerel ayarın tarih gösterimi.
%Ex yerel ayarın alternatif tarih gösterimini ayrıştırır.1

Day

Belirleyici Tanım
%d
%Od
%Nd
%e
%Oe
%Ne
Ondalık sayı olarak ayın günü.
%Nd , okunacak en fazla karakter sayısını belirtir, örneğin %1d. N belirtilmezse, varsayılan değer 2'dir.
Baştaki sıfırlara izin verilir ancak gerekli değildir.
%Od (sıfır değil harfi O) yerel ayarın ayın gününün alternatif gösterimini yorumlar.1
%e ile eşdeğerdir %d ve gibi %ddeğiştirilebilir.1

Haftanın günü

Belirleyici Tanım
%a
%A
Yerel ayarın tam veya kısaltılmış büyük/küçük harfe duyarsız hafta içi adı.
%A eşdeğerdir %a
%u
%Nu
Iso hafta içi günü ondalık sayı (1-7), burada Pazartesi 1 olur.
%Nu , okunacak en fazla karakter sayısını belirtir, örneğin %2u. N belirtilmezse, varsayılan değer 1'dir. Baştaki sıfırlara izin verilir ancak gerekli değildir.
%w
%Nw
%Ow
Hafta içi ondalık sayı olarak (0-6), pazar 0'dır.
%Nw , okunacak en fazla karakter sayısını belirtir, örneğin %2w. N belirtilmezse, varsayılan değer 1'dir.
Baştaki sıfırlara izin verilir ancak gerekli değildir.
%Ow (sıfır değil harfi O) yerel ayarın alternatif gösterimini yorumlar.1

Yılın haftası/günü

Belirleyici Tanım
%j
%Nj
Biçimlendirilen tür sürenin bir uzmanlığıysa, doldurma olmayan günlerin ondalık sayısıdır. Aksi takdirde, ondalık sayı olarak yılın günü. Jan 1001. Sonuç üç basamaktan azsa, (sıfır) ile 0 üç basamak arası sola doldurulur.
%Nj, okunacak en fazla karakter sayısını belirtir, örneğin %2j. N belirtilmezse, varsayılan değer 3'dür. Baştaki basamaklara izin verilir ancak gerekli değildir.
%U
%NU
%OU
Ondalık sayı olarak yılın hafta numarası. Yılın ilk Pazar günü, haftanın 01ilk günüdür. Bu haftadan önceki aynı yılın günleri hafta 00içindedir. Sonuç tek basamaklıysa, ön eki (sıfır) olur 0 .
%NU , okunacak en fazla karakter sayısını belirtir, örneğin %2U. N belirtilmezse, varsayılan değer 2'dir.
Baştaki sıfırlara izin verilir, ancak gerekli değildir.
%OU (harf O, sıfır değil) yerel ayarın alternatif gösterimini ayrıştırıyor.1
%W
%NW
%OW
Ondalık sayı olarak yılın hafta numarası. Yılın ilk Pazartesi günü, haftanın 01ilk günüdür. Bu haftadan önceki aynı yılın günleri hafta 00içindedir.
Sonuç tek basamaklıysa, ön eki (sıfır) olur 0 .
%NW , okunacak en fazla karakter sayısını belirtir, örneğin %2W. N belirtilmezse, varsayılan değer 1'dir
Baştaki sıfırlara izin verilir, ancak gerekli değildir.%OW (harf O, sıfır değil) yerel ayarın alternatif gösterimini ayrıştırıyor.1

Günün saati

Belirleyici Tanım
%H
%NH
%OH
Ondalık sayı olarak saat (24 saatlik saat). Sonuç tek bir basamaksa, önüne bir 0 (sıfır) eklenir.
%NH , okunacak karakter sayısı üst sınırını belirtir; örneğin, %1H. N belirtilmezse, varsayılan değer 2'dir.
Baştaki sıfırlara izin verilir ancak gerekli değildir.
%OH (harf O, sıfır değil) yerel ayarın alternatif gösterimini ayrıştırıyor.1
%I
%NI
%OI
Ondalık sayı olarak saat (12 saatlik saat). Sonuç tek basamaklıysa, ön eki (sıfır) olur 0 .
%NI , okunacak karakter sayısı üst sınırını belirtir; örneğin, %1I. N belirtilmezse, varsayılan değer 2'dir.
Baştaki sıfırlara izin verilir ancak gerekli değildir.
%OI (harf O, sıfır değil) yerel ayarın alternatif gösterimini ayrıştırıyor.1
%M
%NM
%OM
Ondalık sayı olarak dakika. Sonuç tek basamaklıysa, ön eki (sıfır) olur 0 .
%NM , okunacak en fazla karakter sayısını belirtir, örneğin %3M. N belirtilmezse, varsayılan değer 2'dir.
Baştaki sıfırlara izin verilir ancak gerekli değildir.
%OM (harf O, sıfır değil) yerel ayarın alternatif gösterimini ayrıştırıyor.1
%S
%NS
%OS
Ondalık sayı olarak saniye. Saniye sayısı 10'dan küçükse, sonuç ön ekinde 0 (sıfır) olur. Girişin duyarlığı saniyelerle tam olarak gösterilemiyorsa, biçim sabit biçimli ondalık kayan noktalı sayıdır. İşlev 18 kesirli basamak içinde kayan nokta ondalık saniyelerini dönüştüremiyorsa mikrosaniye duyarlığı vardır. Aksi takdirde, duyarlığı girişin duyarlığıyla eşleşir. Ondalık noktasının karakteri yerel ayara göre yerelleştirilir.
%NS , okunacak en fazla karakter sayısını belirtir, örneğin %3S. N belirtilmezse, varsayılan değer 2'dir.
Baştaki sıfırlara izin verilir ancak gerekli değildir.
%OS (harf O, sıfır değil) yerel ayarın alternatif gösterimini ayrıştırıyor.1
%p Yerel ayar, 12 saatlik bir saatle ilişkili AM/PM ifadelerinin eşdeğeridir.
%r Yerel ayar 12 saatlik bir saat.
%R ile eşdeğerdir %H:%M.
%T ile eşdeğerdir "%H:%M:%S".
%X, %EX Yerel ayarın zaman gösterimi.
%EX alternatif yerel ayarın saat gösterimini ayrıştırıyor.1

Month

Belirleyici Tanım
%b, %B, %h Yerel ayarın tam veya kısaltılmış ay adı. Değer geçerli bir ay içermiyorsa bir format_error özel durum oluşturulur.
%h eşdeğeri, %b olur.
%m, %Nm, %Om Ondalık sayı olarak ay. Jan 1.
%Nm , okunacak karakter sayısı üst sınırını belirtir; örneğin, %3m. N belirtilmezse, varsayılan değer 2'dir.
Baştaki sıfırlara izin verilir ancak gerekli değildir.
%Om (sıfır değil harfi O) yerel ayarın alternatif gösterimini yorumlar.1

Year

Belirleyici Tanım
%C, %NC, %EC Ondalık sayı olarak yüzyıl.
%NC , okunacak karakter sayısı üst sınırını belirtir; örneğin, %1N. N belirtilmezse, varsayılan değer 2'dir. Baştaki sıfırlara izin verilir ancak gerekli değildir.
%EC yerel ayarın yüzyılın alternatif temsilini yorumlar.
%y, %Ny, %Ey, %Oy Yılın son iki ondalık basamağı. Yüzyıl başka bir şekilde belirtilmemişse (örneğin, kullanılarak %C), aralıktaki [69, 99] değerlerin 1969 ile 1999 yılları arasında olduğu varsayılır ve aralıktaki [00, 68] değerlerin 2000 ile 2068 yılları arasında olduğu varsayılır.
%Ny , okunacak karakter sayısı üst sınırını belirtir. N belirtilmezse, varsayılan değer 2'dir.
Baştaki sıfırlara izin verilir ancak gerekli değildir.
%Ey ve %Oy (sıfır değil harf O) yerel ayarın alternatif gösterimini yorumlar.1
%Y, %NY, %EY, Ondalık sayı olarak yıl. Sonuç dört basamaktan azsa, sol tuş takımı (sıfır) ile 0 dört basamaklıdır.
%NY , okunacak karakter sayısı üst sınırını belirtir. N belirtilmezse, varsayılan değer 4'dür.
%EY yerel ayarın alternatif tam yıl gösterimini ayrıştırıyor.1

ISO 8601 haftalık yıl

ISO 8601'de haftalar Pazartesi ile başlar. Yılın ilk haftası 4 Ocak'ı içermeli ve yılın ilk Perşembe gününü içermelidir.

Belirleyici Değiştirme
%g
%Ng
ISO hafta tabanlı yılın son iki ondalık basamağı. Sonuç tek basamaklıysa, önek olarak (sıfır) eklenir 0 . %Ng , okunacak karakter sayısı üst sınırını belirtir; örneğin, %1g. N belirtilmezse, varsayılan değer 2'dir
%G
%NG
Ondalık sayı olarak ISO hafta tabanlı yıl. Sonuç dört basamaktan azsa, sol tuş takımı (sıfır) ile 0 dört basamaklıdır. %NG , okunacak karakter sayısı üst sınırını belirtir; örneğin, %1G. N belirtilmezse varsayılan değer 4'dür
%V
%OV
%NV
Ondalık sayı olarak ISO hafta tabanlı hafta numarası. Sonuç tek basamaklıysa, ön eki (sıfır) olur 0 . %NV , okunacak karakter sayısı üst sınırını belirtir; örneğin, %1V. N belirtilmezse, varsayılan değer 2'dir
%OV (harf O, sıfır değil) yerel ayarın alternatif gösterimini ayrıştırıyor.1

Genel

Belirleyici Değiştirme
%% % karakteriyle eşleşir
%c
%Ec
Yerel ayarın tarih ve saat gösterimi.
%Ec yerel ayarın alternatif tarih ve saat gösterimini yorumlar.1
%n Yeni satır karakteriyle eşleşir
%t Sıfır veya bir boşluk karakteriyle eşleşir
%z
%Ez
%Oz
BIÇIMINDE [+|-]hh[mm]UTC'den uzaklık. Örneğin, -0430 UTC'nin 4 saat 30 dakika gerisine ve 04 UTC'nin 4 saat ilerisine başvurur.
%Ez ve %Oz (sıfır değil harfi O) saat ile dakika arasında bir : ayrıştırma ve saat alanında baştaki sıfırları işleme isteğe bağlı1: [+|-]h[h][:mm]. Örneğin, -04:30 UTC'nin 4 saat 30 dakika gerisinde 4 saat, UTC'nin 4 saat öncesinde 4 saat anlamına gelir.
%Z Saat dilimi kısaltması veya adı. Tek bir sözcük ayrıştırılır. Bu sözcük yalnızca temel kaynak karakter kümesinden veya , /, -+veya öğelerinden birinden _alfasayısal karakterler içerebilir.

Türe göre bayraklar

Sınıf Tanımlayıcı/Bayrak
day d, e
duration j, H, I, M, S, r, R, T, p, (q, Q yalnızca biçim içindir, ayrıştırma için değildir)
file_time Z, z, c, x, X, D, F, g, G, j, U, V, W, Y, y, C, b, h, B, m, d, e, a, A, u, w, H, I, M, S, r, R, T, p
gps_time Z, z, c, x, X, D, F, g, G, j, U, V, W, Y, y, C, b, h, B, m, d, e, a, A, u, w, H, I, M, S, r, R, T, p
hh_mm_ss H, I, M, S, r, R, T, p
local_time c, x, X, D, F, g, G, j, U, V, W, Y, y, C, b, h, B, m, d, e, a, A, u, w, H, I, M, S, r, R, T, p
local_time_format_t z, Z, c, x, X, D, F, Y, C, y, b, B, h, m, d, e, a, A, u, w, H, I, M, S, r, R, T, p, g, G, U, V, W
local_info z, Z
month b, h, B, m
month_day B, d, j, e, b, h, m
month_day_last B, d, j, e, b, h, m
month_weekday b, B, h, m, a, A, u, w
month_weekday_last b, B, h, m, a, A, u, w
sys_info z, Z
sys_time Z, z, c, x, X, D, F, g, G, j, U, V, W, Y, y, C, b, h, B, m, d, e, a, A, u, w, H, I, M, S, r, R, T, p
tai Z, z, c, x, X, D, F, g, G, j, U, V, W, Y, y, C, b, h, B, m, d, e, a, A, u, w, H, I, M, S, r, R, T, p
utc_time Z, z, c, x, X, D, F, g, G, j, U, V, W, Y, y, C, b, h, B, m, d, e, a, A, u, w, H, I, M, S, r, R, T, p
weekday a, A, u, w
weekday_indexed a, A, u, w
weekday_last a, A, u, w
year Y, y, C
year_month Y, y, B, g, G, h, C, b, m
year_month_day D, F, g, G, j, U, V, W, Y, y, C, b, h, B, m, d, e, a, A, u, w
year_month_day_last D, F, g, G, j, U, V, W, Y, y, C, b, h, B, m, d, e, a, A, u, w
year_month_weekday D, F, g, G, j, U, V, W, Y, y, C, b, h, B, m, d, e, a, A, u, w
year_month_weekday_last D, F, g, G, j, U, V, W, Y, y, C, b, h, B, m, d, e, a, A, u, w
zoned_time z, Z, c, x, X, D, F, Y, C, y, b, B, h, m, d, e, a, A, u, w, H, I, M, S, r, R, T, p, g, G, U, V, W

1Uygulama şu anda strftime ile tutarlıdır, ancak O (O harfi) ve e kabul edilir, bunlar yoksayılır. Yani, "%Od" olarak "%d"yorumlanır.

get_leap_second_info

Belirtilen süre için bir leap_second_info döndürür. Bu, sağlanan sürenin artık saniye ekleme sırasında olup olmadığı hakkında bilgi sağlar. Ayrıca, 1 Ocak 1970 ile belirtilen süre arasında eklenen artık saniye sayısını sağlar. Uluslararası Yer Döndürme ve Başvuru Sistemleri Hizmeti (IERS), düzensiz olan ve yavaşlayan, atomik zaman ile izlenen zaman arasındaki farkı hesaba katmak için artık saniye ekleneceğini (61 saniyelik bir dakika ile sonuçlanır) bildirdiğinde artık saniye ekleme gerçekleşir.

Sözdizimi

template<class Duration>
leap_second_info
get_leap_second_info(const utc_time<Duration>& ut);  // C++20

Parametreler

ut
Alınacak leap_second_info kaynakutc_time.

Dönüş değeri

Üyesi is_leap_second pozitif bir artık saniye eklemesi sırasında ise ut olan bir leap_second_info döndürür; aksi takdirde , falsetrue . Üye, elapsed dönem tarihi 1970-01-01ile utarasındaki artık saniyelerin toplamını tutar. ise is_leap_secondtrue, tarafından ut başvuruda bulunılan artık saniye toplama elapsed eklenir.

get_tzdb

Program genelindeki saat dilimi veritabanı listesindeki ilk girdiyi alır.

Sözdizimi

const tzdb& get_tzdb();  // C++20

Dönüş değeri

çağrısıyla tzdb ilk nesneye get_tzdb_list().front()başvuru döndürür. Saat dilimi veritabanına ilk başvuruysa ve saat dilimi veritabanı başlatılamıyorsa bir runtime_error özel durum oluşturur.

Açıklamalar

Henüz başlatılmadıysa, get_tzdb ilk erişimde program genelinde saat dilimi veritabanını başlatır. Başlatma işleminden sonra veritabanı, tek bir tzdb_list başlatılan tzdb nesneyi tutan bir veritabanıdır.

get_tzdb_list

Program genelindeki tek saat dilimi veritabanını alır.

Sözdizimi

tzdb_list& get_tzdb_list();  // C++20

Dönüş değeri

Program genelindeki tzdb_list nesneye bir başvuru döndürür. Geçerli tzdb_list bir runtime_error nesneye başvuru döndüremezse bir özel durum oluşturur.

Açıklamalar

Henüz başlatılmadıysa, get_tzdb_list ilk erişimde program genelinde saat dilimi veritabanını başlatır. Başlatma işleminden sonra veritabanı, tek bir tzdb_list başlatılan tzdb nesneyi tutan bir veritabanıdır. get_tzdb_list İşlev iş parçacığı açısından güvenlidir.

is_am

Belirtilen saatin günün ante-meridiem (AM) bölümünde olup olmadığına ilişkin koşul.

Sözdizimi

constexpr bool is_am(const hours& h) noexcept;  // C++20

Parametreler

h
24 saatlik zaman gösteriminde kaynak hours gösterimi.

Dönüş değeri

ise 0h <= h && h <= 11hdöndürürtrue, aksi takdirde falsedöndürür.

is_pm

Belirtilen saatin günün meridiem sonrası (PM) bölümünde olup olmadığına ilişkin koşul.

Sözdizimi

constexpr bool is_pm(const hours& h) noexcept;  // C++20

Parametreler

h
24 saatlik zaman gösteriminde kaynak hours gösterimi.

Dönüş değeri

ise 12h <= h && h <= 23hdöndürürtrue, aksi takdirde falsedöndürür.

locate_zone

Saat dilimi adına göre belirtilen bir saat dilimi nesnesi alır.

Sözdizimi

const time_zone* locate_zone(string_view tz_name);  // C++20

Parametreler

tz_name
Döndürülecek saat diliminin adı.

Dönüş değeri

bir çağrısı get_tzdb().locate_zone(tz_name)tarafından sanki öğesine time_zone bir işaretçi döndürür. Belirtilen saat dilimini bulamazsa veya saat dilimi veritabanına ilk başvuruysa ve saat dilimi veritabanı başlatılamıyorsa bir runtime_error özel durum oluşturur.

Açıklamalar

Henüz başlatılmadıysa, locate_zone ilk erişimde program genelinde saat dilimi veritabanını başlatır. Başlatma işleminden sonra veritabanı, tek bir tzdb_list başlatılan tzdb nesneyi tutan bir veritabanıdır.

make12

Belirtilen saati 12 saatlik zaman gösteriminde döndürür.

Sözdizimi

constexpr hours make12(const hours& h) noexcept;  // C++20

Parametreler

h
24 saatlik zaman gösteriminde kaynak hours gösterimi.

Dönüş değeri

aralığındaki [1h, 12h]değerinin 12 saatlik eşdeğerini h döndürür. aralığında [0h, 23h]değilse h dönüş değeri belirtilmez.

make24

24 saatlik zaman gösteriminde belirtilen saati döndürür.

Sözdizimi

constexpr hours make24(const hours& h, bool is_pm) noexcept;  // C++20

Parametreler

h
12 saatlik zaman gösteriminde kaynak hours gösterimi.

is_pm
Kaynak hours gösterimi PM (if true) veya AM (if false) olur.

Dönüş değeri

ise is_pmfalse, make24 bir AM saatini temsil ettiği varsayılarak h aralığındaki [0h, 11h]değerinin h 24 saatlik eşdeğerini döndürür. Aksi takdirde, pm saatini temsil ettiği varsayılarak h aralığındaki [12h, 23h]değerinin h 24 saatlik eşdeğerini döndürür. aralığında [1h, 12h]değilse h dönüş değeri belirtilmez.

reload_tzdb

Güncelleştirilmiş bilgiler varsa saat dilimi veritabanını yeniden yükler.

Sözdizimi

const tzdb& reload_tzdb();

Dönüş değeri

Saat dilimi veritabanı güncelleştirmesini (varsa) yaptıktan sonra, reload_tzdb ilk nesneye tzdb yapılan bir çağrı gibi bir başvuru get_tzdb_list().front()döndürür. Geçerli tzdb bir runtime_error nesneye başvuru döndüremezse bir özel durum oluşturur.

Açıklamalar

Yerel saat dilimi veritabanı, program veritabanına ilk kez eriştiğinde sağlanan veritabanıdır( örneğin, çağrısıylacurrent_zone). Program çalışırken uygulama saat dilimi veritabanını güncelleştirebilir. Program işlevi çağırmadığı reload_tzdb sürece güncelleştirme programı hiçbir şekilde etkilemez. Güncelleştirilme olasılığı olan saat dilimi veritabanı, uzak saat dilimi veritabanı olarak adlandırılır.

işlevi hem reload_tzdb yerel saat dilimi veritabanının hem de uzak saat dilimi veritabanının sürümünü denetler. Yerel ve uzak veritabanlarının sürümleri aynıysa hiçbir değişiklik yapmaz. Aksi takdirde, uzak veritabanı tarafından get_tzdb_listerişilen öğesinin tzdb_list önüne iletilir. Güncelleştirme işaretçileri, başvuruları veya yineleyicileri geçersiz kılmaz. reload_tzdb işlevi ve get_tzdb_list().erase_after()çağrıları get_tzdb_list().front() için iş parçacığı açısından güvenlidir.

remote_version

En son uzak veritabanı sürümünü içeren bir dize alır.

Sözdizimi

string remote_version();

Dönüş değeri

En son uzak veritabanı sürümünü içeren bir string döndürür.

round(duration)

Belirtilen duration değeri hedef türdeki en yakın temsil edilebilir duration değere yuvarlar.

Sözdizimi

template<class ToDuration, class Rep, class Period>
constexpr ToDuration
round(const duration<Rep, Period>& d);  // C++17

Parametreler

ToDuration
Hedef duration türü. nerede treat_as_floating_point_v<typename ToDuration::rep> olduğu konusunda bir uzmanlaşma duration olarak kısıtlanmış.false

Rep
Kaynağın durationdiç gösteriminin türü.

Period
Bir std::ratio saniyenin kaynak Rep türüne (saniye başına Rep) oranını temsil eden bir tür.

d
Kaynak duration nesne.

Dönüş değeri

parametresiyle ToDurationdtemsil edilebilen en duration yakın değeri döndürür. Bağlar eşit değere, yani değerinin olduğu t % 2 == 0değere t gider.

Açıklamalar

roundtürü bir örneği olmadığı ve ToDuration tam sayı gösterimine sahip olmadığı sürece ToDuration aşırı yükleme çözümlemesine durationkatılmaz.

round(time_point)

Hedefte duration belirtilen zaman noktasına temsil edilebilen en yakın zaman noktasını döndürür.

template<class ToDuration, class Clock, class Duration>
constexpr time_point<Clock, ToDuration>
round(const time_point<Clock, Duration>& tp);

Parametreler

ToDuration
Hedef duration türü. nerede treat_as_floating_point_v<typename ToDuration::rep> olduğu konusunda bir uzmanlaşma duration olarak kısıtlanmış.false

Clock
Sonucun ortak saat türü ve kaynak parametresi tp.

Duration
duration türü.tp

tp
Kaynak time_point nesne.

Dönüş değeri

ile temsil ToDurationtpedilebilen en yakın zaman noktasını döndürür. Bağlar eşit değere, yani değerinin olduğu t % 2 == 0değere t gider. Etkili bir şekilde, time_point<Clock, ToDuration>(round<ToDuration>(tp.time_since_epoch()));.

Açıklamalar

round türü bir örneği olmadığı sürece ToDuration aşırı yükleme çözümlemesine durationkatılmaz.

time_point_cast

time_point Bir nesneyi farklı duration türde bir time_point nesneye dönüştürür.

Sözdizimi

template <class ToDuration, class Clock, class Duration>
time_point<Clock, ToDuration>
time_point_cast(const time_point<Clock, Duration>& tp);  // C++11

Parametreler

ToDuration
Hedef duration türü. uzmanlık alanı olarak durationkısıtlanmış.

Clock
Sonucun ortak saat türü ve kaynak parametresi tp.

Duration
duration türü.tp

tp
Türüne time_point sahip ToDuration bir nesneye atama.

Dönüş değeri

Türü olan bir time_pointToDuration nesne döndürür. Etkili bir şekilde, time_point<Clock, ToDuration>(duration_cast<ToDuration>(t.time_since_epoch()));.

Açıklamalar

uzmanlığı olmadığı durationsüreceToDuration, bu işlev aşırı yükleme çözümlemesine katılmaz.

Ayrıca bkz.

<chrono>
chrono Hazır
chrono Işleç
duration sınıfı
time_point sınıfı
time_zone sınıfı