<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 duration
d
iç 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 d
mutlak 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 duration
değ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 duration
kısıtlanmış.
Rep
Kaynağın duration
d
iç 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 d
bü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 duration
katı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 duration
kı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 duration
katı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
duration
SourceClock
belirttiğ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 SourceClock
Duration
, 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 SourceClock
DestClock
öğ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 duration
kısıtlanmış.
Rep
Kaynağın duration
d
iç 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 duration
d
eden 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 NaN
sonsuz içeriyorsa veya hedefte duration
temsil 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 duration
katı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 duration
değ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 duration
kısıtlanmış.
Rep
Kaynağın duration
d
iç 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 d
küçü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 duration
katı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 duration
kı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 tp
olan 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 duration
katılmaz.
from_stream
Giriş akışını, belirtilen biçimi kullanarak , month
, , weekday
month_day
, year
, , year_month
, year_month_day
vb. gibi day
zaman veya aralık türlerinden birinde std::chrono
ayrıştırın.
Ayrıştırma başarısız olursa (is.setstate
ios_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 , wstring
u16string
wchar_t
, için char16_t
ve u32string
char32_t
için türündeki öğelerin tür char
tanı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 nullptr
ve 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
nullptr
değ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 *offset
offset
atanır.
12) Kullanılırsa 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 *offset
offset
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 N ile 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 %d değ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 1 001 . 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 01 ilk günüdür. Bu haftadan önceki aynı yılın günleri hafta 00 iç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 01 ilk günüdür. Bu haftadan önceki aynı yılın günleri hafta 00 iç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'dirBaş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 , false
true
. Üye, elapsed
dönem tarihi 1970-01-01
ile ut
arasındaki artık saniyelerin toplamını tutar. ise is_leap_second
true
, 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 <= 11h
döndürürtrue
, aksi takdirde false
dö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 <= 23h
döndürürtrue
, aksi takdirde false
dö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_pm
false
, 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_list
eriş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 duration
d
iç 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 ToDuration
d
temsil edilebilen en duration
yakın değeri döndürür. Bağlar eşit değere, yani değerinin olduğu t % 2 == 0
değere t
gider.
Açıklamalar
round
türü bir örneği olmadığı ve ToDuration
tam sayı gösterimine sahip olmadığı sürece ToDuration
aşırı yükleme çözümlemesine duration
katı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 ToDuration
tp
edilebilen en yakın zaman noktasını döndürür. Bağlar eşit değere, yani değerinin olduğu t % 2 == 0
değ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 duration
katı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 duration
kı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_point
ToDuration
nesne döndürür. Etkili bir şekilde, time_point<Clock, ToDuration>(duration_cast<ToDuration>(t.time_since_epoch()));
.
Açıklamalar
uzmanlığı olmadığı duration
sü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ı
Geri Bildirim
https://aka.ms/ContentUserFeedback.
Çok yakında: 2024 boyunca, içerik için geri bildirim mekanizması olarak GitHub Sorunları’nı kullanımdan kaldıracak ve yeni bir geri bildirim sistemiyle değiştireceğiz. Daha fazla bilgi için bkz.Gönderin ve geri bildirimi görüntüleyin