닷넷/C#
C# 시간 계산 두 번 째 (TimeSpan, DateTimeOffset)
FreeBear
2023. 4. 6. 10:54
반응형
2020.09.11 - [C#] - C# 시간 계산 (DateTime Add함수 월, 일, 시, 분 더하기 빼기)
DateTime 형식일 때, DateTime의 Add함수를 이용 한 날짜, 시간 계산은 이전 글을 참고한다.
DateTime, TimeSpan, DateTimeOffset을 사용하여 시간 계산을 수행하는 방법은 다음과 같다.
using System;
namespace DateTimeExample
{
class Program
{
static void Main(string[] args)
{
// 현재 시간 구하기
DateTime currentTime = DateTime.Now;
Console.WriteLine($"현재 시간: {currentTime}");
//////////////////////
// 1. DateTime
// 내일 이 시간 구하기
DateTime tomorrow = currentTime.AddDays(1);
Console.WriteLine($"내일 이 시간: {tomorrow}");
// 시간 차이 계산하기
// 참고로 DateTime에서 DateTime을 빼거나 더하면 자료형은 TimeSpan이 된다.
TimeSpan timeDifference = tomorrow - currentTime;
Console.WriteLine($"시간 차이: {timeDifference}");
////////////////////
// 2. TimeSpan
// 1시간 30분의 TimeSpan 객체 생성
TimeSpan timeToAdd = new TimeSpan(1, 30, 0);
// 1시간 30분 후 구하기
DateTime newTime = currentTime + timeToAdd;
Console.WriteLine($"1시간 30분 후: {newTime}");
////////////////////
// 3. DateTimeOffset
// 현재 시간과 시간대 정보를 포함한 DateTimeOffset 객체 구하기
DateTimeOffset currentOffsetTime = DateTimeOffset.Now;
Console.WriteLine($"현재 시간(시간대 포함): {currentOffsetTime}");
// 5시간 후의 시간과 시간대 정보를 포함한 DateTimeOffset 객체 구하기
DateTimeOffset laterOffsetTime = currentOffsetTime.AddHours(5);
Console.WriteLine($"5시간 후(시간대 포함): {laterOffsetTime}");
// 시간 차이 계산하기
TimeSpan offsetDifference = laterOffsetTime - currentOffsetTime;
Console.WriteLine($"시간 차이: {offsetDifference}");
}
}
}
결과
현재 시간: 2023-04-06 10:30:00
내일 이 시간: 2023-04-07 10:30:00
시간 차이: 1.00:00:00 (1일)
1시간 30분 후: 2023-04-06 12:00:00
현재 시간(시간대 포함): 2023-04-06 10:30:00 +09:00
5시간 후(시간대 포함): 2023-04-06 15:30:00 +09:00
시간 차이: 05:00:00 (5시간)
반응형