간단하게 시간대 변환 빠르게 계산해보기

해외 컨퍼런스, 세션을 온라인으로 들을 일이 종종 있다보니 가끔 정확한 시간대를 계산하고 싶을 때가 있는데, 그럴 때마다 국내 시간 기준으로 잘못 기재하지 않을지 검산해보고 싶을 때가 있는데요,

유용하게 써 볼 수 있는 C# 버전의 코드와 PowerShell 버전의 코드를 공유합니다. :smiley:

Console.Out.WriteLine(
	new DateTimeOffset(
		// 연, 월, 일, 시, 분, 초
		new DateTime(2023, 2, 14, 23, 0, 0),
		// 원본 시간대
		TimeSpan.FromHours(0))
	.ToOffset(
		// 변경해서 보려는 시간대
		TimeSpan.FromHours(9)
	)
);
(New-Object DateTimeOffset @(`
  (New-Object DateTime @(<# 연 #> 2023, <# 월 #> 2, <# 일 #> 14, <# 시 #> 23, <# 분 #> 0, <# 초 #> 0)), `
  [TimeSpan]::FromHours(<# 원본 시간대 #> 0)`
)).ToOffset(`
  [TimeSpan]::FromHours(<# 목적 시간대 #> 9)`
).ToString()
4개의 좋아요

DateTime에 ToUniversalTime()과 ToLocalTime() 개꿀 메서드도 있습니다!

var t1 = new DateTime(2023, 2, 14, 23, 0, 0); //2023-02-14 오후 11:00:00
var t2 = t1.ToLocalTime(); //2023-02-15 오전 8:00:00
var t3 = t1.ToUniversalTime(); //2023-02-14 오후 2:00:00
3개의 좋아요