Aracılığıyla paylaş


strftime, wcsftime, _strftime_l, _wcsftime_l

Zaman dizesini biçimlendirme.

Sözdizimi

size_t strftime(
   char *strDest,
   size_t maxsize,
   const char *format,
   const struct tm *timeptr
);
size_t _strftime_l(
   char *strDest,
   size_t maxsize,
   const char *format,
   const struct tm *timeptr,
   _locale_t locale
);
size_t wcsftime(
   wchar_t *strDest,
   size_t maxsize,
   const wchar_t *format,
   const struct tm *timeptr
);
size_t _wcsftime_l(
   wchar_t *strDest,
   size_t maxsize,
   const wchar_t *format,
   const struct tm *timeptr,
   _locale_t locale
);

Parametreler

strDest
Çıkış dizesi.

maxsize
Arabellek boyutu strDest , karakter (char veya wchar_t) olarak ölçülür.

format
Biçim denetimi dizesi.

timeptr
tm veri yapısı.

locale
Kullanılacak yerel ayar.

Dönüş değeri

strftime içine yerleştirilen strDest karakter sayısını döndürür ve wcsftime buna karşılık gelen geniş karakter sayısını döndürür.

Sonlandırıcı null dahil olmak üzere toplam karakter sayısı değerinden maxsizefazlaysa, hem hem de strftimewcsftime 0 döndürür ve içindekiler strDest belirsizdir.

içindeki strDest karakter sayısı, içindeki formatdeğişmez karakter sayısına ve biçimlendirme kodları aracılığıyla eklenebilen tüm karakterlere format eşittir. Dizenin sonlandırıcı null değeri, dönüş değerinde sayılmaz.

Açıklamalar

ve işlevleri, sağlanan format bağımsız değişkene göre içindeki timeptr zaman değerini biçimlendirip tm sonucu arabellekte depolarstrDest.wcsftimestrftime En çok karakterler maxsize dizeye yerleştirilir. Yapıdaki timeptr alanların açıklaması için bkz asctime. . wcsftime , öğesinin geniş karakter eşdeğeridir strftime; dize işaretçisi bağımsız değişkeni geniş karakterli bir dizeye işaret eder. Bu işlevler aynı şekilde davranır.

Bu işlev parametrelerini doğrular. , veya null bir işaretçiyse veya tarafından ele alınan timeptr veri yapısı geçersizse tm (örneğin, saat veya tarih için aralık dışı değerler içeriyorsa) veya format dize geçersiz bir biçimlendirme kodu içeriyorsa, Parametre doğrulama bölümünde açıklandığı gibi geçersiz parametre işleyicisi çağrılır.timeptrformatstrDest Yürütmenin devam etmesi için izin verilirse, işlev 0 döndürür ve olarak EINVALayarlanırerrno.

Varsayılan olarak, bu işlevin genel durumunun kapsamı uygulama olarak belirlenmiştir. Bu davranışı değiştirmek için bkz. CRT'de Genel durum.

Genel metin yordamı eşlemeleri

TCHAR.H Rutin _UNICODE ve _MBCS tanımlanmadı _MBCS Tanımlanan _UNICODE Tanımlanan
_tcsftime strftime strftime wcsftime

format Bağımsız değişken bir veya daha fazla koddan oluşur; 'de printfolduğu gibi, biçimlendirme kodlarının önünde bir yüzde işareti (% ) bulunur. ile % başlamayan karakterler yerine kopyalanır strDest. LC_TIME Geçerli yerel ayarın kategorisi, çıkış biçimlendirmesini strftimeetkiler. (hakkında LC_TIMEdaha fazla bilgi için bkz. setlocale.) strftime ve wcsftime işlevleri, şu anda ayarlanmış olan yerel ayarı kullanır. _strftime_l Bu işlevlerin ve _wcsftime_l sürümleri aynıdır, ancak yerel ayarı parametre olarak alır ve şu anda ayarlanmış yerel ayar yerine bunu kullanırlar. Daha fazla bilgi için bkz . Yerel Ayar.

İşlevler strftime şu biçimlendirme kodlarını destekler:

Kod Değiştirme dizesi
%a Yerel ayarda kısaltılmış hafta içi adı
%A Yerel ayarda tam haftanın günü adı
%b Yerel ayarda kısaltılmış ay adı
%B Yerel ayarda tam ay adı
%c Yerel ayar için uygun tarih ve saat gösterimi
%C Yıl 100'e bölündü ve ondalık sayı (00−99) olarak bir tamsayıya kesildi
%d Ondalık sayı olarak ayın günü (01 - 31)
%D Eşdeğer %m/%d/%y
%e Ondalık sayı olarak ayın günü (1 - 31), burada tek basamakların önünde boşluk vardır
%F Eşdeğer %Y-%m-%d
%g ISO 8601 hafta tabanlı yılın ondalık sayı olarak son 2 basamağı (00 - 99)
%G Ondalık sayı olarak ISO 8601 hafta tabanlı yıl
%h Kısaltılmış ay adı (ile %beşdeğer)
%H 24 saatlik biçimde saat (00 - 23)
%I 12 saatlik biçimde saat (01 - 12)
%j Ondalık sayı olarak yılın günü (001 - 366)
%m Ondalık sayı olarak ay (01 - 12)
%M Ondalık sayı olarak dakika (00 - 59)
%n Yeni satır karakteri (\n)
%p 12 saatlik saat için yerel ayarın A.M./P.M. göstergesi
%r Yerel ayarın 12 saatlik saati
%R Eşdeğer %H:%M
%S Ondalık sayı olarak ikinci (00 - 59)
%t Yatay sekme karakteri (\t)
%T eşdeğeri %H:%M:%S, ISO 8601 saat biçimi
%u ISO 8601 ondalık sayı olarak haftanın günü (1 - 7; Pazartesi 1)
%U Ondalık sayı olarak yılın hafta numarası (00 - 53), burada ilk Pazar, haftanın ilk günüdür 1
%V ISO 8601 ondalık sayı olarak hafta sayısı (00 - 53)
%w Ondalık sayı olarak hafta içi (0 - 6; Pazar 0)
%W Ondalık sayı olarak yılın hafta numarası (00 - 53), burada ilk Pazartesi haftanın ilk günüdür 1
%x Yerel ayar için tarih gösterimi
%X Yerel ayar için zaman gösterimi
%y Yüzyılsız yıl, ondalık sayı olarak (00 - 99)
%Y Ondalık sayı olarak, yüzyıllı yıl
%z ISO 8601 biçiminde UTC'den uzaklık; saat dilimi bilinmiyorsa karakter yok
%Z Kayıt defteri ayarlarına bağlı olarak yerel ayarın saat dilimi adı veya saat dilimi kısaltması; saat dilimi bilinmiyorsa karakter yok
%% Yüzde işareti

İşlevde printf olduğu gibi, bayrak herhangi bir biçimlendirme kodunun ön ekini # alabilir. Bu durumda, biçim kodunun anlamı aşağıdaki gibi değiştirilir.

Kodu biçimlendirme Anlamı
%#a, %#A, %#b, %#B, %#g, %#G, %#h, %#n, %#p, %#t, %#u, %#w, %#X, %#z, %#Z, %#% # bayrağı yoksayılır.
%#c Yerel ayar için uygun olan uzun tarih ve saat gösterimi. Örneğin: "Salı, 14 Mart 1995, 12:41:29".
%#x Yerel ayara uygun uzun tarih gösterimi. Örneğin: "14 Mart 1995 Salı".
%#d, %#D, %#e, %#F, %#H, %#I, %#j, %#m, %#M, %#r, %#R, %#S, %#T, %#U, %#V, %#W, %#y, %#Y Baştaki sıfırları veya boşlukları (varsa) kaldırın.

, %gve tarafından %Vüretilen ISO 8601 hafta ve %Ghafta tabanlı yıl, Pazartesi günü başlayan bir hafta kullanır. 1. hafta, yılın en az dört gününü içeren ilk hafta olan Ocak ayının dördüncü gününü içeren haftadır. Yılın ilk Pazartesi günü 2., 3. veya 4. ise, önceki günler önceki yılın son haftasının bir parçasıdır. Bu günler %V için 53 ile değiştirilir ve her ikisi de %g%G önceki yılın basamakları ile değiştirilir.

Dekont

İşlevlerden strftime birini öğesinden gmtimedöndürülen bir tm işaretçiyle kullanırken ve %z tanımlayıcıları aracılığıyla %Z yazdırılan değerler doğru olmaz. Bunun nedeni tm , C Standardı tarafından belirtilen yapının saat dilimi adı veya uzaklık bilgilerini içermemesidir. Bunun yerine, saat dilimi bilgileri genel değişkenler _timezone ve _dstbiasaracılığıyla doldurulur.

Gereksinimler

Yordam Gerekli başlık
strftime <time.h>
wcsftime <time.h> veya <wchar.h>
_strftime_l <time.h>
_wcsftime_l <time.h> veya <wchar.h>

ve _wcsftime_l işlevleri Microsoft'a _strftime_l özeldir. Daha fazla uyumluluk bilgisi için bkz . Uyumluluk.

Örnek

örneğine timebakın.

Ayrıca bkz.

Yerel ayar
Zaman yönetimi
Dize işleme
localeconv
setlocale, _wsetlocale
strcoll işlevleri
strxfrm, wcsxfrm, _strxfrm_l, _wcsxfrm_l