본문 바로가기
C#

[C#] DateTimeOffset 형식

by emforl 2023. 6. 23.
728x90
반응형

DateTimeOffset : UTC(협정 세계시)를 기준으로 날짜와 시간을 표현한 시각

-위치에 의한 시간 정보를 포함하여 단일 정보가 필요할 때 사용

 

생성자

DateTimeOffset() 0001-01-01 오전 12:00:00 +00:00으로 초기화
DateTimeOffset 계산의 기준
DateTimeOffset(DateTime datetime) datetime값으로 초기화
DateTimeOffset(long ticks, TimeSpan offset) (시간 : 틱 수, 오프셋 시간 : offset)의 값으로 초기화
DateTimeOffset(int year, int month, int day, int hour, int minute, int second, TimeSpan offset) (시간 : 연, 월, 일, 시, 분, 초, 오프셋 시간 : offset)의 값으로 초기화

 

속성

Now UTC(협정 세계시)를 기준으로 현재 시간 반환

 

사용 예

DateTime dt = new DateTime(2012, 2, 21, 9, 10, 10);
DateTimeOffset dto, dto1, dto2, dto3, dto4, dto5;
dto = new DateTimeOffset();
dto1 = DateTimeOffset.Now;
dto2 = new DateTimeOffset(DateTime.Now);
dto3 = new DateTimeOffset(dt);
dto4 = new DateTimeOffset(120000000000, new TimeSpan());
dto5 = new DateTimeOffset(120000000000, new TimeSpan(-120000000000));
 

[C#] TimeSpan 형식

TimeSpan : 시간 간격 또는 걸린 시간 표시 사용 예 TimeSpan sp, sp1, sp2; sp = new TimeSpan(); sp1 = new TimeSpan(60000000); sp2 = new TimeSpan(12, 6, 6, 6); DateTimeOffset dto = new DateTimeOffset() + sp1; DateTime dt = new DateTime() + sp1;

to-study-coding.tistory.com

 

예제 프로그램

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace DateTimeOffset_Type
{
    class Program
    {
        static void Main(string[] args)
        {
            DateTime dt = new DateTime(2012, 2, 21, 9, 10, 10);
            DateTimeOffset dto, dto1, dto2, dto3, dto4, dto5;
            dto = new DateTimeOffset();
            dto1 = DateTimeOffset.Now;
            dto2 = new DateTimeOffset(DateTime.Now);
            dto3 = new DateTimeOffset(dt);
            dto4 = new DateTimeOffset(120000000000, new TimeSpan());
            dto5 = new DateTimeOffset(120000000000, new TimeSpan(-120000000000));

            Console.WriteLine($"DateTime dt = new DateTime(2012, 2, 21, 9, 10, 10) : {dt}\n");
            Console.WriteLine($"new DateTimeOffset() : {dto}\n");
            Console.WriteLine($"DateTimeOffset.Now : {dto1}\n");
            Console.WriteLine($"new DateTimeOffset(DateTime.Now) : {dto2}\n");
            Console.WriteLine($"new DateTimeOffset(dt) : {dto3}\n");
            Console.WriteLine($"new DateTimeOffset(120000000000, new TimeSpan()) : {dto4}\n");
            Console.WriteLine($"new DateTimeOffset(120000000000, new TimeSpan(-120000000000)) : {dto5}");
        }
    }
}

결과

728x90
반응형

'C#' 카테고리의 다른 글

[C#] null 조건부 연산자  (0) 2023.07.03
[C#] TimeSpan 형식  (0) 2023.06.23
[C#] DateTime 형식  (0) 2023.06.22
[C#] 조건 연산자  (0) 2023.06.21
[C#] 논리 연산자(Bool 연산)  (0) 2023.06.19