C++ Tarih İşlemleri
C++ programlama dilinde tarih yazma, saat yazma ve iki tarih arasında fark gibi tarih işlemleri ile ilgili bilgiler yer alıyor.
Tarih işlemleri
C++ programlama dilinde tarih ve saat işlemleri için ctime kütüphanesi kullanılır.
Kütüphane içinde tarih ve saat bilgilerini saklamak için clock_t, time_t, size_t, tm türündeki değişkenler yer alır.
Tarih ve saat bilgilerini almak, yazdırmak ve farklı biçimlere çevirmek için time, ctime, asctime, localtime vb. tarih fonksiyonları yer alır.
C++ ile tarih bilgisini almak için time fonksiyonu kullanılır.
Fonksiyon time_t türünde değer döndürür.
Bu değer ctime fonksiyonuna parametre olarak gönderilerek tarih bilgisi yazdırılır.
#include <iostream>
#include <ctime>
using namespace std;
int main(){
time_t tarih = time(NULL);
cout << ctime(&tarih);
return 0;
}
Yazdırma işlemini farklı bir biçimde yapmak için time_t değişken türünün localtime fonksiyonu ile tm değişken türüne çevrilmesi gerekir.
Çevirme işleminden sonra asctime ve strftime fonksiyonları kullanılarak istenilen biçimde yazdırma işlemi yapılır.
#include <iostream>
#include <ctime>
using namespace std;
int main(){
time_t tarih = time(NULL);
struct tm *tarih_bilgisi = localtime(&tarih);
char mTarih[50];
cout << asctime(tarih_bilgisi);
strftime(mTarih, sizeof(mTarih), "%d-%m-%Y %H:%M:%S", tarih_bilgisi);
cout << mTarih;
return 0;
}
İki tarih arasındaki gün, ay, yıl gibi farkları bulmak için difftime fonksiyonu kullanılır.
#include <iostream>
#include <ctime>
using namespace std;
int main(){
time_t tarih = time(NULL);
struct tm *tarih_bilgisi = localtime(&tarih);
tarih_bilgisi->tm_hour = 0;
tarih_bilgisi->tm_min = 0;
tarih_bilgisi->tm_sec = 0;
tarih_bilgisi->tm_mon = 0;
tarih_bilgisi->tm_mday = 1;
int gecenGunSayisi = difftime(tarih, mktime(tarih_bilgisi)) / (60 * 60 * 24);
cout << gecenGunSayisi;
return 0;
}
Fonksiyon geri dönüş değeri olarak iki tarih arasındaki saniye farkını verir.
Çeşitli hesaplamalar yapılarak gün, ay, yıl ve diğer birimlerin farkı bulunabilir.
Programlama örneklerine buradan ulaşabilirsiniz…
Hayırlı günler dilerim.