#define _CRT_SECURE_NO_WARNINGS
#include <iostream>
#include <ctime>
using namespace std;
int main(void)
{
time_t now = time(NULL);
tm* ptm = localtime(&now);
char buffer[64];
strftime(buffer, 64, "%Y년 %m월 %d일, %H시 %M분 %S초 입니다.(%p)\n", ptm);
cout << buffer;
return 0;
}
일반적으로 날짜를 구할 땐, ctime() 함수를 주로 이용했습니다. 여기에 더해, strftime 과 time_t 를 이용하여
간편하게 날짜를 다룹니다.
날짜와 시간을 얻을 수 있는 time_t 변수를 선언합니다. NULL은 아무것도 갖고 있지 않다. 즉 비었다는 의미입니다.
tm 은 구조체 (struct) 로 localtime() 함수를 이용해 int 날짜와 시간 값을 대입합니다.
그리고 가끔 이러한 에러가 뜨시는 분들이 있으실텐데 이 에러 메시지는 scanf나 strcpy, localtime
과 같은 보안적으로 안전하지 못한 함수들을 호출할 때 나타납니다.
그럴땐 _CRT_SECURE_NO_WARNINGS 매크로 정의 후 불안전한 함수를 사용하도록 허락합니다
-> #define _CRT_SECURE_NO_WARNINGS