[백준 10699] 오늘 날짜 (C#, C++) - soo:bak
작성일 :
문제 링크
설명
입력 없이 서울 표준시(KST, UTC+9) 기준으로 오늘 날짜를 YYYY-MM-DD 형식으로 출력하는 문제입니다.
채점 서버는 UTC 시간대를 사용하므로, 현재 UTC 시간에 9시간을 더해 한국 시간으로 변환해야 합니다.
접근법
현재 UTC 시간을 구한 뒤 9시간을 더해 한국 시간으로 맞춘 후, 연-월-일을 YYYY-MM-DD 형식으로 출력합니다.
C#은 DateTime.UtcNow.AddHours(9)로 시간을 더한 후 ToString("yyyy-MM-dd")로 포맷팅하고,
C++은 std::chrono를 사용해 UTC 시간에 9시간을 더한 뒤 gmtime으로 변환하여 연-월-일을 출력합니다.
Code
C#
1
2
3
4
5
6
7
8
9
10
using System;
namespace Solution {
class Program {
static void Main(string[] args) {
var today = DateTime.UtcNow.AddHours(9);
Console.WriteLine(today.ToString("yyyy-MM-dd"));
}
}
}
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
#include <bits/stdc++.h>
using namespace std;
int main() {
using namespace chrono;
auto nowUtc = system_clock::now();
auto nowKst = nowUtc + hours(9);
time_t timer = system_clock::to_time_t(nowKst);
tm* t = gmtime(&timer);
cout << (t->tm_year + 1900) << '-'
<< setw(2) << setfill('0') << (t->tm_mon + 1) << '-'
<< setw(2) << setfill('0') << t->tm_mday << "\n";
return 0;
}