2016-02-25 51 views
-1

我的計劃是使日,月,年,時,StartMinute下拉,並且下拉的選擇的號碼是要去被轉換成一個日期時間,並保存在數據庫中如何轉換爲int爲DateTime

如何將int轉換爲DateTime,現在我的StartTime出現錯誤。錯誤是「Sannot implictly convert type'int'to'System.DateTime'」。

public class Job 
{ 
    public int ID { get; set; } 

    public int Day { get; set; } 
    public int Month { get; set; } 
    public int Year { get; set; } 
    public int StartHour { get; set; } 
    public int StartMinute { get; set; } 
    public int EndHour { get; set; } 
    public int EndMinute { get; set; } 

    public DateTime StartTime 
    { 
     get 
     { 
      return Day + Month + Year + StartHour + StartMinute; 
     } 

     set 
     { 
      StartTime = Day + Month + Year + StartHour + StartMinute; 
     } 
    } 
    public DateTime EndTime { get; set; } 
+0

獲取您的一年和...並使字符串和轉換爲日期時間 – Jamaxack

+1

而不是多個控件添加日曆的單個控件。 –

+2

另一方面...你認爲'StartTime'調用'StartTime = ...'需要做什麼? –

回答

7

這是的pritty簡單,如果你把所有的值分隔的下拉框:

int year = 2016, month = 2, day = 25, hour = 10, minute = 41; 
DateTime date = new DateTime(year, month, day, hour, minute, 0); 

在「新DateTime」是秒部分的最後一個0

編輯爲System.ArgumentOutOfRangeException在吸氣劑中:

public DateTime StartTime 
    { 
     get 
     { 
      if (Year < 1) Year = 1; 
      if (Month < 1) Month = 1; 
      if (Day < 1) Day = 1; 
      if (StartHour < 0) StartHour = 0; 
      if (StartMinute < 0) StartMinute = 0; 
      return new DateTime(Day, Month, Year, StartHour, StartMinute, 0); 
     } 
     set 
     { 
      Day = value.Day; 
      Month = value.Month; 
      Year = value.Year; 
      StartHour = value.Hour; 
      StartMinute = value.Minute; 
     } 
    } 
0

您可以使用DateTime構造:

日期時間(的Int32,的Int32,的Int32,的Int32,的Int32,Int32)將
初始化的新實例DateTime結構到指定的年,月,日,小時,分鐘和秒。

1

您只是總結了一些int並期望框架將其識別爲DateTime。你的問題是,該框架不明白你的名字YearHour的意思。

改爲使用DateTime(int year, int month, int day, int hour, int minute, int second)構造函數。在這樣

StartTime = new DateTime(Year, Month, Day, StartHours, StartMinutes, 0) 

此外,我不認爲把這個在吸氣功能是不正確的做法,因爲你是在等待一些用戶輸入。因此,在變量StartTime可以設置之前,您必須等待事件發生(更改其中一個下拉列表或按下按鈕)。因此,您可能必須在方法中設置StartTime

0
public class Job 
{ 
    public int ID { get; set; } 
    public int Day { get; set; } 
    public int Month { get; set; } 
    public int Year { get; set; } 
    public int StartHour { get; set; } 
    public int StartMinute { get; set; } 
    public int EndHour { get; set; } 
    public int EndMinute { get; set; } 

public DateTime StartTime 
{ 
    get 
    { 
     return new DateTime(Year, Month, Day, StartHours, StartMinutes, 0); 
    } 
    set 
    { 
     Day = value.Day; 
     Month = value.Month; 
     Year = value.Year; 
     StartHour = value.Hour; 
     StartMinute= value.Minute; 
    } 
} 
public DateTime EndTime { get; set; } 

} 
+0

我得到同樣的錯誤 –

+0

'公共的DateTime( \t年整型, \t INT本月, \t日整型, \t INT小時, \t INT分鐘, \t INT第二 )' 年全年(1〜9999)。 月份月份(1到12)。 一天當天(1到月份的天數)。 小時 小時(0到23)。 分鐘 分鐘(0到59)。 秒 秒(0到59)。 – Windstorm

+0

'public DateTime EndTime { get { return new DateTime(Year,Month,Day,EndHour,EndMinute,0); } set { Day = value.Day; Month = value.Month; 年= value.Year; EndHour = value.Hour; EndMinute = value.Minute; } }' – Windstorm