c datetime tutorial
이 튜토리얼은 C # DateTime 클래스에 대한 모든 것을 설명합니다. 타이머, 스톱워치 및 절전 방법을 포함한 C # DateTime 형식으로 작업하는 방법을 배웁니다.
시간과 날짜는 여러 소프트웨어 프로젝트에서 널리 사용됩니다. 우리는 종종 다른 프로그램을 작성하면서 날짜와 시간 객체를 다룹니다.
날짜 시간에는 현재 날짜-시간 가져 오기, 변수 / 파일 이름에 타임 스탬프 추가, 유효성 검사를 위해 날짜 시간 사용 등과 같은 다양한 응용 프로그램이 있습니다. 너무 많은 응용 프로그램을 사용하면 프로그래머에게 날짜-시간 개체가 얼마나 중요한지 쉽게 추측 할 수 있습니다.
=> 여기에서 심층 C # 교육 자습서를 확인하십시오.
학습 내용 :
- C # DateTime 개체를 초기화하는 방법?
- DateTime 개체의 속성
- 날짜 형식이란 무엇입니까?
- 현재 날짜 시간을 얻는 방법?
- C # 타이머
- C # 스톱워치
- 수면 방법이란?
- 결론
- 추천 도서
C # DateTime 개체를 초기화하는 방법?
DateTime은 System 네임 스페이스의 구조체입니다. 프로그래머가 시스템 날짜, 시간, 월, 연도 또는 요일에 대한 정보를 검색하는 데 도움이됩니다. 또한 사용자는 검색된 날짜-시간 값에 대해 작업을 수행 할 수 있습니다.
새 DateTime 객체를 초기화하여 간단한 프로그램을 살펴 보겠습니다. 새 객체를 초기화 할 때 특정 매개 변수를 전달하여 날짜 값을 설정해야합니다.
namespace ConsoleApp1 { class Program { static void Main(string() args) { // year, month, date DateTime dt = new DateTime(2018, 11, 05); Console.WriteLine(dt.ToString()); Console.ReadLine(); } } }
여기에서는 날짜를 05로, 월을 11로, 연도를 2018로 전달했습니다. 그러면 데이터 시간 인스턴스가 당사에서 제공 한 매개 변수로 설정됩니다. 초기화 후 초기화 된 객체를 문자열로 변환하여 콘솔에 인쇄했습니다.
위 프로그램의 출력은 다음과 같습니다.
2018 년 11 월 5 일 오전 12:00:00
위의 출력에서 시간 값을 제공하지 않았으므로 DateTime 개체가 기본 시간을 사용했음을 알 수 있습니다.
DateTime 개체의 속성
DateTime 개체는 사용자가 날짜 및 시간 개체에 대한 데이터를 검색하는 데 도움이되는 다양한 속성을 제공합니다.
여기에서는 몇 가지 중요한 날짜 시간 속성에 대해 설명합니다.
일
Day 속성은 날짜-시간 개체의 설정된 날짜를 검색합니다. 정수 값을 반환하고 인수를 허용하지 않습니다.
통사론:
int date = dt.Day;
달
Month 속성은 날짜-시간 개체의 설정된 월을 검색합니다. 정수 값을 반환하고 인수를 허용하지 않습니다.
통사론:
int month = dt.Month;
년
Year 속성은 날짜-시간 개체의 설정된 연도를 검색합니다. 정수 값을 반환하고 인수를 허용하지 않습니다.
통사론:
int yr = dt.Year;
요일
요일 속성은 설정된 날짜-시간 개체에서 요일의 정수 값을 검색합니다. 또한 정수 값을 허용하려면 캐스팅해야합니다. 어떤 논쟁도 받아들이지 않습니다.
통사론:
int dayWeek = (int)dt.DayOfWeek;
년의 날
Day of year 속성은 date-time 개체의 날짜 설정 값에서 연중 일을 검색합니다. 정수 값을 반환하고 인수를 허용하지 않습니다.
통사론:
int dayYear = dt.DayOfYear;
시
Day 속성은 날짜-시간 개체의 설정된 날짜를 검색합니다. 정수 값을 반환하고 인수를 허용하지 않습니다.
통사론:
int hour = dt.Hour;
분
Min 속성은 날짜-시간 개체의 설정된 날짜에서 분 값을 검색합니다. 정수 값을 반환하고 인수를 허용하지 않습니다.
통사론:
int min = dt.Minute;
둘째
두 번째 속성은 날짜-시간 개체의 설정 값에서 두 번째 값을 검색합니다. 정수 값을 반환하고 인수를 허용하지 않습니다.
통사론:
int sec = dt.Second;
이러한 값을 검색하는 간단한 프로그램을 살펴 보겠습니다.
namespace ConsoleApp1 { class Program { static void Main(string() args) { // year, month, date DateTime dt = new DateTime(2018, 11, 05); int date = dt.Day; int month = dt.Month; int yr = dt.Year; int dayWeek = (int)dt.DayOfWeek; int dayYear = dt.DayOfYear; int hour = dt.Hour; int min = dt.Minute; int sec = dt.Second; Console.WriteLine(date); Console.WriteLine(month); Console.WriteLine(yr); Console.WriteLine(dayWeek); Console.WriteLine(dayYear); Console.WriteLine(hour); Console.WriteLine(min); Console.WriteLine(sec); Console.ReadLine(); } } }
위 프로그램의 출력은 다음과 같습니다.
날짜 : 5
월 : 11
년 : 2018
요일 : 1
올해의 날 : 309
시간 : 0
분 : 0
두 번째 : 0
위의 프로그램에서는 날짜 값을 2018 년 5 월 11 일로 설정했습니다. 따라서 시스템이 동일한 값을 가져 왔음을 알 수 있지만 시간 부분을 보면 기본값이 0 인 것을 볼 수 있습니다. 이는 시간 값을 설정하지 않았기 때문에 시스템이 자동으로 기본값을 할당했기 때문입니다. 1 시간, 분, 초.
날짜 형식이란 무엇입니까?
다른 응용 프로그램과 다른 프로그래머는 사용을 위해 다른 형식의 날짜를 요구할 수 있습니다. 따라서 날짜 형식은 다양한 요구 사항에 대한 날짜 형식을 지정하는 데 사용됩니다. DateTime은 원하는 형식으로 날짜를 가져올 수있는 다양한 형식 옵션도 제공합니다.
원하는 날짜 형식을 제공하기 위해 지정된 여러 지정자가 있습니다. 여기에서 몇 가지 인기있는 항목에 대해 설명합니다.
짧은 시간 형식
AM 또는 PM이 접미사로 붙은 시간과 분이있는 간단한 시간 형식을 표시합니다. 작은 경우 't'로 표시됩니다.
클라이언트 서버 애플리케이션을 테스트하는 방법
출력 형식은 다음과 같습니다. 12:00 PM
장시간 형식
시간, 분, 초를 AM 또는 PM으로 추가하여 확장 된 시간 형식을 표시합니다. 대문자로 'T'로 표시됩니다.
출력 형식은 다음과 같습니다. 12:13:12 PM
짧은 날짜
MM / DD / YYYY 형식으로 간단한 날짜 형식을 표시합니다. 작은 경우 알파벳 'd'로 표시됩니다.
출력 형식은 다음과 같습니다. 11/05/2018
긴 날짜
일, 월, 일 및 연도로 확장 된 날짜 형식을 표시합니다. 대문자는 알파벳 'D'로 표시됩니다.
출력 형식은 다음과 같습니다. Monday, November 05, 2018
일 / 월
날짜 및 월로 날짜 형식을 표시합니다. 연도 세부 정보는 포함되어 있지 않습니다. 대문자는 알파벳 'M'으로 표시됩니다.
출력 형식은 다음과 같습니다. 5-11 월
월 / 년
월 및 연도로 날짜 형식을 표시합니다. 날짜 세부 정보는 포함되어 있지 않습니다. 대문자의 알파벳 'Y'로 표시됩니다.
출력 형식은 2018 년 11 월입니다.
간단한 프로그램의 도움으로 이것들을 자세히 살펴 보겠습니다.
namespace ConsoleApp1 { class Program { static void Main(string() args) { // year, month, date DateTime dt = new DateTime(2018, 11, 05); //short time Console.WriteLine('Short time : {0}',dt.ToString('t')); //Long Time Console.WriteLine('Long time : {0}', dt.ToString('T')); //Short Date Console.WriteLine('Short Date : {0}', dt.ToString('d')); //Long Date Console.WriteLine('Long date : {0}', dt.ToString('D')); //Day / Month Console.WriteLine('Day with month : {0}', dt.ToString('M')); //Month / Year Console.WriteLine('Month with year : {0}', dt.ToString('Y')); Console.ReadLine(); } } }
위 프로그램의 출력은 다음과 같습니다.
단시간 : 12:00 AM
장시간 : 오전 12:00:00
짧은 날짜 : 2018 년 11 월 5 일
긴 날짜 : 2018 년 11 월 5 일 월요일
달이있는 날 : 11 월 5 일
연월 : 2018 년 11 월
위의 프로그램에서 첫 번째 줄의 날짜 값을 초기화 한 다음 동일한 값을 사용하여 다른 형식을 얻으려고했습니다.
현재 날짜 시간을 얻는 방법?
DateTime 개체에는 시스템 시간에 액세스하는 여러 가지 메서드가 포함되어 있습니다. '지금'방법을 사용하면 현재 시스템 시간 / 날짜를 가져올 수 있으며 작업을 수행 할 수도 있습니다.
현재 시간을 가져 오는 구문은 다음과 같습니다.
DateTime today = DateTime.Now;
일단 정의하고 이제 DateTime 객체에 저장했습니다. 현재 날짜-시간을 얻기 위해 쉽게 문자열로 변환하거나 위에서 설명한 지정자를 사용하여 날짜 형식을 변경할 수도 있습니다.
C # 타이머
C #의 타이머를 사용하면 프로그래머가 특정 코드 또는 명령 집합을 반복적으로 실행하는 시간 간격을 설정할 수 있습니다. 응용 프로그램 사양에서 특정 간격마다 이벤트를 실행해야하는 경우 매우 유용합니다.
예를 들면 데이터 백업 응용 프로그램을 구현하는 동안.
타이머를 구현하는 간단한 프로그램을 살펴 보겠습니다.
using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; using System.IO; using System.Collections; using System.Timers; namespace ConsoleApp1 { class Program { private static Timer timer; static void Main(string() args) { timer = new System.Timers.Timer(); timer.Interval = 2000; timer.Elapsed += OnTimerEvent; timer.AutoReset = true; timer.Enabled = true; Console.WriteLine('The timer will start logging now... '); Console.ReadLine(); } private static void OnTimerEvent(Object source, System.Timers.ElapsedEventArgs e) { Console.WriteLine('Time logged: {0}', e.SignalTime.ToString('T')); } } }
따라서이 프로그램을 실행하면 2 초마다 시간이 계속 기록됩니다.
위의 프로그램에서 우리는 먼저 System.Timer를 초기화했습니다. 그런 다음 타이머 간격 시간을 설정합니다. 여기서는 간격을 2000 밀리 초로 유지했으며 요구 사항에 따라 모든 구현을 제공 할 수 있습니다. 시간 간격이 경과하면 일부 메서드를 호출하여 명령을 실행해야합니다.
여기서는 2 초마다“OnTimerEvent”를 호출했습니다. 이 메서드는 두 개의 매개 변수를받습니다. 첫 번째 매개 변수는 'object'이고 다른 매개 변수는 'ElapsedEventArgs'입니다.
또한 간격에 도달 할 때마다 타이머를 재설정하고 활성화해야합니다. 따라서 자동 재설정 및 타이머 활성화가 모두 참으로 표시됩니다. 그런 다음 사용자 지정 메시지를 콘솔에 쓰고 readline을 추가하여 사용자가 개입 할 때까지 콘솔이 열려 있는지 확인합니다.
C # 스톱워치
스톱워치는 C #에서 시간을 측정하는 데 사용됩니다. 코드 최적화 중에 코드 성능을 벤치마킹하는 데 매우 유용합니다. 코드 / 애플리케이션 성능을 지속적으로 모니터링하고 성능 저하를 확인하는 데 사용할 수 있습니다.
스톱워치는 이벤트 중 경과 된 시간을 정확하게 측정 할 수 있으며 프로그램의 모든 이벤트 타이밍을위한 완벽한 선택입니다. Stopwatch 클래스는 System.Diagnostics 네임 스페이스에 정의되어 있으며 사용을 위해 인스턴스화되어야합니다. 따라서 멀티 스레딩이 필요한 애플리케이션에 매우 유용합니다. thread.sleep 메서드를 사용하여 이벤트 호출을 실행할 수 있습니다.
수면 방법이란?
sleep 메서드는 특정 시간 범위 동안 실행중인 스레드를 일시 중지하는 데 사용됩니다. 밀리 초 단위의 시간을받습니다. Sleep은 다른 스레드가 실행을 완료 할 수 있도록 한 스레드를 중지하려는 멀티 스레딩 환경에서 매우 유용합니다.
C # Sleep 메서드의 구문은 다음과 같습니다.
System.Threading.Thread.Sleep(1000);
이제 우리는 수면 및 기타 스톱워치 수업에 대해 배웠습니다.
더 명확하게 이해하기 위해 간단한 스톱워치 프로그램을 만들어 보겠습니다.
using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; using System.Threading; using System.Diagnostics; namespace ConsoleApp1 { class Program { static void Main(string() args) { Console.WriteLine('Press Enter to start the stopwatch'); Console.ReadLine(); // Create a new Stopwatch. var stopwatch = Stopwatch.StartNew(); Console.WriteLine('Stopwatch started...'); Console.WriteLine('Press Enter to stop the stopwatch and show time'); Console.ReadLine(); // Write result. Console.WriteLine('Time elapsed: {0}', stopwatch.Elapsed); Console.ReadLine(); } } }
산출
위 프로그램의 출력은 다음과 같습니다.
마지막 줄은 스톱워치의 시작과 중지 사이에 경과 된 시간을 보여줍니다.
위의 프로그램에서 우리는 Stopwatch 클래스의 인스턴스를 저장하는 변수 스톱워치를 정의했습니다. StartNew () 메서드를 사용했습니다. startnew 메서드는 호출 될 때마다 새 인스턴스를 생성하므로 처음부터 스톱워치를 시작하려는 경우 매우 유용합니다.
스톱워치의 Elapsed 속성을 통해 사용자는 러닝 시간 범위를 기록 할 수 있습니다. 결국 우리는 단순히 경과 시간을 콘솔에 인쇄했습니다.
결론
날짜 시간, 타이머, 수면, 스톱워치는 모두 C # 프로그래밍 언어로 사용되어 다양한 목적을 만족시킵니다. DateTime 개체는 시스템의 날짜 및 시간에 대한 정보를 수집하거나 특정 응용 프로그램 요구 사항에 사용할 사용자 지정 날짜 및 시간을 설정하는 데 사용됩니다.
반면 타이머는 특정 명령 또는 이벤트 실행 사이의 시간 간격을 설정하는 데 사용됩니다.
Sleep은 System.Threading의 일부이며 특정 시간 간격 동안 실행을 일시 중지하거나 중지하는 데 사용됩니다. 이를 통해 프로그래머는 이전 스레드가 일시 중지 된 동안 다중 스레딩 환경에서 다른 스레드를 시작할 수 있습니다.
스톱워치는 특정 이벤트 실행에 소요 된 성능 또는 시간을 측정하는 데 사용할 수 있습니다. 애플리케이션 성능을 점검하는 데 사용할 수있는 경과 시간 또는 틱의 정확한 측정을 제공 할 수 있습니다.
=> 여기에서 전체 C # 교육 자습서 시리즈 살펴보기