16 Kasım 2017 Perşembe

strftime metodu

Giriş
Şu satırı dahil ederiz.
#include <ctime>
struct tm yapısını formatlayarak string'e çevirir. Bu metodun tersini strptime yapar.

Bu metod genellikle C kodlarında kullanılır. C++ ile kodluyorsak std::put_time() bu metod ile aynı işi yapar.
struct tm (broken time) el etme
struct tm yapısını elde etmek için şöyle yaparız
time_t rawtime;
time (&rawtime);
struct tm * timeinfo = localtime (&rawtime);
Formatlama
%F : ISO 8601 formatında çıktı verir
%Y : yıl
%m : ay
%d : gün
%H : saat
%M : dakika
%S : saniye

Örnek - ISO 8601
ISO 8601 şöyledir.
YYYY-MM-DD
Ay ve gün 0 ile doldurulabilir.  Çıktı olarak şunu alırız.
2017-05-24
Şöyle yaparız.
char buf [99];
strftime(buf,99,"%F",...);
Örnek
Şöyle yaparız.
struct stat attrib;
stat("file.txt", &attrib);
char time[50];
strftime(time, 50, "%Y-%m-%d %H:%M:%S", localtime(&attrib.st_mtime));
printf ("%s\n", time);
Çıktı olarak şunu alırız.
2017-05-08 08:43:42
Örnek
Şöyle yaparız.
time_t rawrime = time(NULL);
struct tm *currTime = localtime(&rawtime); 
char result [50] 
strftime(result, 50, "%Y:%m:%d %H:%M:%S", currTime); //E.g. 2017:11:12 12:30:48

Hiç yorum yok:

Yorum Gönder