2 using com.andoutomo.kybernetes.control;
\r
4 namespace com.andoutomo.kybernetes.data
\r
6 internal class DateComponents
\r
8 private DateTime innerDate;
\r
10 internal DateComponents(int year, int month, int day)
\r
12 innerDate = new DateTime(year, month, day);
\r
14 internal DateComponents(int month, int day)
\r
16 innerDate = new DateTime(DateTime.Today.Year, month, day);
\r
19 /// スペース区切りで日付と時刻を分け、日付のみさらにスプリッタで分ける。
\r
22 /// <param name="dateStr"></param>
\r
23 /// <param name="separater"></param>
\r
24 internal DateComponents(string dateStr,char separater)
\r
26 string[] wkData1 = dateStr.Split(' ');
\r
27 string[] wkData2 = wkData1[0].Split(separater);
\r
28 innerDate = new DateTime(int.Parse(wkData2[0]), int.Parse(wkData2[1]), int.Parse(wkData2[2]));
\r
31 /// yyyyMMdd方式か、MMdd方式で表記された文字列から日付コンポーネントを作成する
\r
33 /// <param name="dateStr"></param>
\r
34 internal DateComponents(string dateStr)
\r
38 if (dateStr.Length == 8)
\r
40 string yearStr = dateStr.Substring(0, 4);
\r
41 string monthStr = dateStr.Substring(4, 2);
\r
42 string dayStr = dateStr.Substring(6, 2);
\r
43 innerDate = new DateTime(int.Parse(yearStr), int.Parse(monthStr), int.Parse(dayStr));
\r
45 else if (dateStr.Length == 4)
\r
47 string monthStr = dateStr.Substring(0, 2);
\r
48 string dayStr = dateStr.Substring(2, 2);
\r
49 innerDate = new DateTime(DateTime.Today.Year, int.Parse(monthStr), int.Parse(dayStr));
\r
54 throw new KybernetesApplicationException("日付への変換ができません:" + dateStr);
\r
59 throw new KybernetesApplicationException(e);
\r
63 internal DateComponents(DateTime dateTime)
\r
65 innerDate = dateTime;
\r
68 internal void addDate(int dateToAdd)
\r
70 innerDate = innerDate.AddDays(dateToAdd);
\r
76 /// <returns></returns>
\r
77 internal string getDateString()
\r
79 return innerDate.ToString("MM/dd");
\r
81 internal string getDateString(string format)
\r
83 return innerDate.ToString(format);
\r
88 /// <returns></returns>
\r
89 internal string getDowStr()
\r
91 switch (innerDate.DayOfWeek){
\r
92 case DayOfWeek.Monday:
\r
94 case DayOfWeek.Tuesday:
\r
96 case DayOfWeek.Wednesday:
\r
98 case DayOfWeek.Thursday:
\r
100 case DayOfWeek.Friday:
\r
102 case DayOfWeek.Saturday:
\r
104 case DayOfWeek.Sunday:
\r
114 /// <param name="target"></param>
\r
115 /// <returns></returns>
\r
116 internal int calculateDateDiff(DateComponents target)
\r
118 TimeSpan thisDateLange = innerDate.Subtract(target.innerDate);
\r
119 return thisDateLange.Days;
\r