C#

C# -- DateTimePicker, DateTime 사용법

자유프로그램 2016. 2. 25. 15:19
반응형

C# -- DateTimePicker, DateTime 사용법


참고 : https://msdn.microsoft.com/ko-kr/library/system.windows.forms.datetimepicker(VS.80).aspx

       https://msdn.microsoft.com/ko-kr/library/system.windows.forms.datetimepicker_members(v=vs.90).aspx -->DateTimePicker 멤버

       

       https://msdn.microsoft.com/ko-kr/library/system.datetime(v=vs.110).aspx  --> DateTime 구조체

       

       https://msdn.microsoft.com/ko-kr/library/system.windows.forms.monthcalendar(v=vs.110).aspx  --> MonthCalendar 클래스


       https://msdn.microsoft.com/ko-kr/library/97x6twsz(v=vs.80).aspx  --> 날짜 및 시간 형식 문자열

       https://msdn.microsoft.com/ko-kr/library/hc4ky857(v=vs.80).aspx  --> 표준 DateTime 형식 문자열 출력 예제


       https://msdn.microsoft.com/ko-kr/library/cc165448.aspx --> 방법: 문자열을 DateTime으로 변환

       http://egloos.zum.com/ultteky/v/10000941  

       https://msdn.microsoft.com/ko-kr/library/bb384500(v=vs.90).aspx  --> 날짜 표시: MonthCalendar 및 DateTimePicker 컨트롤 사용

       http://www.csharpstudy.com/Tip/Tip-datetime-format.aspx

       https://msdn.microsoft.com/ko-kr/library/system.dayofweek(v=vs.110).aspx  --> DayOfWeek 열거형

       https://msdn.microsoft.com/ko-kr/library/bb762911(v=vs.110).aspx  --> 특정 날짜의 요일 추출







1. DateTimePicker Custom format 설정하기




2. DateTimePicker 날짜 선택 바뀔때, 날짜 가져오기

 -- ValueChanged 이벤트 발생한다.




3. DateTimePicker 날짜 이동하기




4. 해당 날짜의 요일 구하기.




5. 선택된 날짜 시간 구하기 (24시간)





6. String to DateTime 변환하기





7. TimeZone & Culture 정보 구하기





8. 현재 날짜, 시간 구하기,   2시간전, 2달전 구하기







<< 전체 소스 >>



using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;
namespace datetimepicker_test
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}
private void Form1_Load(object sender, EventArgs e)
{
initializeDateTimePicker();
}
// DateTimePicker format 초기 셋팅하기
private void initializeDateTimePicker()
{
dateTimePicker1.CustomFormat = "yyyy-MM-dd";
dateTimePicker1.Format = DateTimePickerFormat.Custom;
}
private void dateTimePicker1_ValueChanged(object sender, EventArgs e)
{
DateTime dt1 = dateTimePicker1.Value;
Console.WriteLine(dt1.ToString());
Console.WriteLine(dt1.Date.ToString()); // 시간 무시됨. 00:00:00 으로 됨.
Console.WriteLine(dt1.GetDateTimeFormats().Length);
Console.WriteLine("Year == {0}", dt1.Year);
Console.WriteLine("Month == {0}", dt1.Month);
Console.WriteLine("Day == {0}", dt1.Day);
String dt = dt1.ToString("yyyy-MM-dd");
Console.WriteLine("my datetime format1 == {0}", dt);
}
// 내일로 이동
private void button1_Click(object sender, EventArgs e)
{
dateTimePicker1.Value = DateTime.Now.AddDays(1);
}
// 요일 구하기
private void button2_Click(object sender, EventArgs e)
{
Console.WriteLine(dateTimePicker1.Value.DayOfWeek);
Console.WriteLine((int)dateTimePicker1.Value.DayOfWeek);
Console.WriteLine(dateTimePicker1.Value.ToString("dddd"));
Console.WriteLine(dateTimePicker1.Value.ToString("ddd"), new System.Globalization.CultureInfo("ko-KR"));
// "en-US" 효과없음 ???
Console.WriteLine(dateTimePicker1.Value.ToString("dddd"), new System.Globalization.CultureInfo("en-US"));
}
// 선택된 날짜 시간 구하기 (24시간)
private void button3_Click(object sender, EventArgs e)
{
DateTime dt1 = dateTimePicker1.Value;
Console.WriteLine("DayOfYear = {0}", dt1.DayOfYear.ToString());
Console.WriteLine("DateTime.ToShortDateString() = {0}", dt1.ToShortDateString());
Console.WriteLine(dt1.ToString("yyyy-MM-dd HH:mm:ss")); // HH --> 24시간 형식
//for (int i = 0; i < dt1.GetDateTimeFormats().Length; i++)
//{
// Console.WriteLine(dt1.GetDateTimeFormats()[i]);
// if (i == 10) break;
//}
}
// String to DateTime
private void button4_Click(object sender, EventArgs e)
{
String dt3 = "1988-05-21";
Console.WriteLine("String == {0}", dt3);
DateTime newdt = Convert.ToDateTime(dt3); // 방법 1
Console.WriteLine("new DateTime == {0}", newdt); // 오전 12:00:00 == 00:00:00
Console.WriteLine("1초전 new datetime = {0}", newdt.AddSeconds(-1));
Console.WriteLine("2시간 전 new datetime = {0}", newdt.AddHours(-2)); // 2시간 이전
Console.WriteLine("7일전 new datetime = {0}", newdt.AddDays(-7));
Console.WriteLine("DateTimeKind = {0}", newdt.Kind);
Console.WriteLine("-----------------------------------------------------");
String dt4 = "1988-06-01 00:00:00";
Console.WriteLine("String == {0}", dt4);
DateTime newdt2 = DateTime.Parse(dt4); // 방법 2
Console.WriteLine("new datetime == {0}", newdt2); // 오전 12:00:00 == 00:00:00
Console.WriteLine(newdt2.ToString("yyyy-MM-dd HH:mm:ss")); // HH --> 24시간 형식
Console.WriteLine("1초전 new datetime = {0}", newdt2.AddSeconds(-1));
Console.WriteLine("1초전 new datetime = {0}", newdt2.AddSeconds(-1).ToString("yyyy-MM-dd HH:mm:ss"));
}
// TimeZone & Culture 정보 구하기
private void button5_Click(object sender, EventArgs e)
{
DateTime dt1 = dateTimePicker1.Value;
Console.WriteLine("TimeZoneInfo.Local.DisplayName = {0}", TimeZoneInfo.Local.DisplayName);
Console.WriteLine(System.Threading.Thread.CurrentThread.CurrentCulture.Name);
String dt2 = dt1.ToString("yyyy-MM-dd hh:mm:ss");
Console.WriteLine("my datetime format2 == {0}", dt2);
Console.WriteLine(dt1.ToString("yyyy-MM-dd HH:mm:ss")); // HH --> 24시간 형식
Console.WriteLine(dt1.ToString("yyyy-MM-dd hh:mm:ss tt")); // hh --> 14시간 형식, tt --> am/pm
Console.WriteLine(dt1.ToString("yyyy-MM-dd hh:mm:ss tt", new System.Globalization.CultureInfo("en-US")));
}
// 현재 날짜, 시간 구하기, 2시간전, 2달전 구하기
private void button6_Click(object sender, EventArgs e)
{
DateTime nowdt = DateTime.Now;
Console.WriteLine("Now == {0}", nowdt);
Console.WriteLine("2시간전 time (초 단위) = {0}", nowdt.AddHours(-2));
Console.WriteLine("2시간전 time (분 단위) = {0}", nowdt.AddHours(-2).ToString("yyyy-MM-dd HH:mm"));
Console.WriteLine("2달전 time (24시간) = {0}", nowdt.AddMonths(-2).ToString("yyyy-MM-dd HH:mm:ss"));
}
}
}











반응형