[C#] DateTime, TimeSpan, Stopwatch

2023. 12. 7. 20:49Β·πŸ“ Language/✏ C#

1. DateTime

λ‚ μ§œμ™€ μ‹œκ°„μ„ μ·¨κΈ‰ν•  λ•Œ μ‚¬μš©ν•˜λŠ” ν΄λž˜μŠ€μ΄λ‹€.

  • ν˜„μž¬ λ‚ μ§œμ™€ μ‹œκ°„μ„ κ°€μ Έμ˜€κ±°λ‚˜ λ‚ μ§œμ™€ μ‹œκ°„μ„ μ‚¬μš©μžκ°€ μ§€μ •ν•˜μ—¬ μƒˆ μΈμŠ€ν„΄μŠ€λ₯Ό λ§Œλ“€ 수 μžˆλ‹€. 
  • μ„œμ‹ μ§€μ •μžλ₯Ό μ΄μš©ν•˜μ—¬ μ„œμ‹μ— 맞게 λ‚ μ§œ 및 μ‹œκ°„μ„ λ¬Έμžμ—΄λ‘œ λ³€ν™˜ν•˜μ—¬ 좜λ ₯ν•  수 μžˆλ‹€.

 

1) 생성

μ—¬λŸ¬ κ°€μ§€ λ°©λ²•μœΌλ‘œ μƒˆ DateTime 값에 초기 값을 ν• λ‹Ήν•  수 μžˆλ‹€.

 

μƒμ„±μž 호좜

μƒμ„±μžλ₯Ό 톡해 λ‚ μ§œμ™€ μ‹œκ°„μ„ μ‚¬μš©μžκ°€ μ§€μ •ν•˜μ—¬ μƒˆ μΈμŠ€ν„΄μŠ€λ₯Ό λ§Œλ“€ 수 μžˆλ‹€.

 

public DateTime(long ticks)
public DateTime(long ticks, DateTimeKind kind)
public DateTime(int year, int month, int day)
public DateTime(int year, int month, int day, Calendar calendar)
public DateTime(int year, int month, int day, int hour, int minute, int second)
public DateTime(int year, int month, int day, int hour, int minute, int second, DateTimeKind kind)
public DateTime(int year, int month, int day, int hour, int minute, int second, Calendar calendar)
public DateTime(int year, int month, int day, int hour, int minute, int second, int millisecond)
public DateTime(int year, int month, int day, int hour, int minute, int second, int millisecond, DateTimeKind kind)
public DateTime(int year, int month, int day, int hour, int minute, int second, int millisecond, Calendar calendar)
public DateTime(int year, int month, int day, int hour, int minute, int second, int millisecond, Calendar calendar, DateTimeKind kind)

 

κ³„μ‚°λœ κ°’ ν• λ‹Ή

속성 λ˜λŠ” λ©”μ„œλ“œμ—μ„œ DateTime λ°˜ν™˜λœ λ‚ μ§œ 및 μ‹œκ°„ 값을 κ°œμ²΄μ— ν• λ‹Ήν•  수 μžˆλ‹€.

  • Now: ν˜„μž¬ λ‚ μ§œ 및 μ‹œκ°„
  • UtcNow: ν˜„μž¬ UTC λ‚ μ§œ 및 μ‹œκ°„
  • Today: ν˜„μž¬ λ‚ μ§œ

 

DateTime date1 = DateTime.Now;
DateTime date2 = DateTime.UtcNow;
DateTime date3 = DateTime.Today;

 

λ¬Έμžμ—΄ ꡬ문 뢄석

Parse, ParseExact λ©”μ„œλ“œλ₯Ό μ‚¬μš©ν•˜μ—¬ λ¬Έμžμ—΄μ„ λΆ„μ„ν•˜κ³  κ°’μœΌλ‘œ DateTime λ³€ν™˜ν•  수 μžˆλ‹€.

 

var dateString = "5/1/2008 8:30:52 AM";
DateTime date1 = DateTime.Parse(dateString, System.Globalization.CultureInfo.InvariantCulture);
var iso8601String = "20080501T08:30:52Z";
DateTime dateISO8602 = DateTime.ParseExact(iso8601String, "yyyyMMddTHH:mm:ssZ", System.Globalization.CultureInfo.InvariantCulture);

 

2) 좜λ ₯

 DateTime.ToString(String)λ₯Ό 톡해 ν˜„μž¬ λ¬Έν™”κΆŒμ˜ λ‚ μ§œ 및 μ‹œκ°„ κ°’μ˜ λ¬Έμžμ—΄ ν‘œν˜„μ„ λ°˜ν™˜ν•  수 μžˆλ‹€.

 

var date1 = new DateTime(2008, 3, 1, 7, 0, 0);
Console.WriteLine(date1.ToString());
// For en-US culture, displays 3/1/2008 7:00:00 AM

 

λ˜ν•œ μ‚¬μš©μž μ§€μ • ν˜•μ‹ λ¬Έμžμ—΄κ³Ό ν•¨κ»˜ μ‚¬μš©ν•˜μ—¬ λ‹€λ₯Έ ν˜•μ‹μ„ μ§€μ •ν•  μˆ˜λ„ μžˆλ‹€.

 

var date1 = new DateTime(2008, 3, 1, 7, 0, 0, DateTimeKind.Utc);
Console.WriteLine(date1.ToString("yyyy-MM-ddTHH:mm:sszzz", System.Globalization.CultureInfo.InvariantCulture));
// Displays 2008-03-01T07:00:00+00:00

 

3) 속성

public int Day
public int Hour
public int Millisecond
public int Minute
public int Month
public int Second
public long Ticks
public int Year

 

2. TimeSpan

주둜 μ‹œκ°„ 계산을 μœ„ν•΄ μ‚¬μš©λœλ‹€.

  • DateTime μ‚¬μ΄μ˜ 차이 값을 톡해 ꡬ할 수 μžˆλ‹€.

 

DateTime dateTime = DateTime.Now;
Thread.Sleep(1000); // μ•½ 1초 μ •μ§€
TimeSpan span = DateTime.Now - dateTime;

 

3. Stopwatch

주둜 νŠΉμ • κ΅¬κ°„μ˜ κ±Έλ¦° μ‹œκ°„μ„ 확인할 λ•Œ μ‚¬μš©λœλ‹€. DateTimeλ‚˜ TimeSpan둜 확인할 수 μžˆμ§€λ§Œ 더 μ •ν™•ν•œ μ‹œκ°„μ°¨ 계산을 μœ„ν•˜μ—¬ μ œκ³΅ν•œλ‹€.

 

DateTime dateTime = DateTime.Now;
Stopwatch stopwatch = new Stopwatch();
stopwatch.Start();
Thread.Sleep(1000); // μ•½ 1초 μ •μ§€
stopwatch.Stop();

 

μ°Έκ³ 

https://learn.microsoft.com/ko-kr/dotnet/api/system.datetime?view=net-8.0

 

DateTime ꡬ쑰체 (System)

일반적으둜 λ‚ μ§œμ™€ μ‹œκ°„μœΌλ‘œ ν‘œν˜„λœ μ‹œκ°„μ˜ ν•œ μˆœκ°„μ„ λ‚˜νƒ€λƒ…λ‹ˆλ‹€.

learn.microsoft.com

https://eskeptor.tistory.com/169

 

[C#] μ‹œκ°„ κ΄€λ ¨ (DateTime, TimeSpan, Stopwatch)

DateTime (System.DateTime) C#μ—μ„œ 자주 μ‚¬μš©ν•˜κ²Œ λ˜λŠ” μ‹œκ°„ κ΄€λ ¨ ꡬ쑰체(Struct) μž…λ‹ˆλ‹€. public DateTime(long ticks) public DateTime(long ticks, DateTimeKind kind) public DateTime(int year, int month, int day) public DateTime(int year, int

eskeptor.tistory.com

μ €μž‘μžν‘œμ‹œ (μƒˆμ°½μ—΄λ¦Ό)
'πŸ“ Language/✏ C#' μΉ΄ν…Œκ³ λ¦¬μ˜ λ‹€λ₯Έ κΈ€
  • [C#] Delegate, Event (Feat. 무λͺ… ν•¨μˆ˜, Func, Action)
  • [C#] abstract, interface, virtual (feat. override, new)
  • [C#] Math
  • [C#] struct λŒ€μ‹  classλ₯Ό 써야 ν•  λ•Œ
Blxxming
Blxxming
CS 지식과 κ³΅λΆ€ν•˜λ‹€ 배운 것, κ²½ν—˜ν•œ 것 등을 κΈ°λ‘ν•˜λŠ” λΈ”λ‘œκ·Έμž…λ‹ˆλ‹€.
  • Blxxming
    πŸ’‘λ²ˆλœ©πŸ’‘
    Blxxming
  • 전체
    였늘
    μ–΄μ œ
  • 곡지사항

    • Tech Interview
    • πŸ“š Tech (246)
      • πŸ“ Computer Science (96)
        • ✏ OS (12)
        • ✏ Network & Web (10)
        • ✏ Database (11)
        • ✏ Data Structure (6)
        • ✏ Algorithm (40)
        • ✏ Design Pattern (9)
        • ✏ Cloud Computing (3)
        • ✏ (5)
      • πŸ“ Language (73)
        • ✏ Language (6)
        • ✏ C & C++ (11)
        • ✏ C# (19)
        • ✏ JAVA (37)
      • πŸ“ Game (43)
        • ✏ Computer Graphics (2)
        • ✏ Unity (14)
        • ✏ Unreal (26)
        • ✏ (1)
      • πŸ“ Book (34)
        • ✏ Effective (3)
        • ✏ Game Server (16)
        • ✏ Clean Code (14)
        • ✏ (1)
  • hELLOΒ· Designed Byμ •μƒμš°.v4.10.0
Blxxming
[C#] DateTime, TimeSpan, Stopwatch
μƒλ‹¨μœΌλ‘œ

ν‹°μŠ€ν† λ¦¬νˆ΄λ°”