2016-11-08 31 views
0
DayOfWeek today = DateTime.Today.DayOfWeek; 
if (today == DayOfWeek.Sunday || today == DayOfWeek.Saturday) 
{ 
    ClientScript.RegisterStartupScript(GetType(), "alert", "alert('" weekend"');", true); 
} 
else 
{ 
    ClientScript.RegisterStartupScript(GetType(), "alert", "alert('" weekday"');", true); 
} 

從線以上,我能夠找到,如果今天是週末或工作日C#確認日爲週末或工作日

現在我想從用戶輸入 我想這個日期,但失敗了,

我的文字輸入格式爲:2016年10月4日

string dateInput = dateTextbox.Text; 
DayOfWeek today = DateTime.dateInput.DayOfWeek; 
+0

怎麼是'dateTextbox.Text;'日期樣子? –

+1

'dateInput'是一個字符串,您需要將其轉換爲'DateTime'對象。在StackOverflow上有幾十個類似的問題*如何將一個字符串轉換爲C#中的日期時間* – user3185569

+3

對,所以你真正*問的是「我怎樣才能把一個字符串轉換成'DateTime'? - 因爲你已經有了其他的代碼。 –

回答

2

使用DateTime.ParseExact解析您的stringDateTime

string dateInput = dateTextbox.Text; //"2016-10-04" 
DateTime dtResult = DateTime.ParseExact(dateInput, "yyyy-MM-dd", CultureInfo.InvariantCulture); 
DayOfWeek today = dtResult.DayOfWeek; 
+0

,您好如何檢查輸入是週日還是週末? – KyLim

+0

正如你所說'如果(今天== DayOfWeek.Sunday ||今天== DayOfWeek.Saturday)' – fubo

+0

@KyLim我不知道你是否有24小時制或12小時制。爲24使用'HH',爲12'hh' – fubo

2

海事組織,你應該使用一些日期時間的控制,而不是一個文本框的輸入日期時間。那麼您需要首先將TextBoxText轉換爲DateTime對象。

DateTime dt = DateTime.ParseExact(dateTextbox.Text, 
            "YYYY-MM-DD", 
            CultureInfo.InvariantCulture); 

僅供參考,有很多方法將字符串轉換爲DateTime(谷歌將有所幫助)。所有的優點和缺點。使用哪種最適合你。

+0

(today == DayOfWeek.Sunday || today == DayOfWeek.Saturday) can not compare against dayofweek and datetime – KyLim

+1

if(dt.DayOfWeek == DayOfWeek.Sunday || dt.DayOfWeek == DayOfWeek.Saturday) –

+0

@KyLim:所以你需要使用'DayOfWeek'屬性,一旦你把它轉換成'DateTime'。你清楚地知道'DayOfWeek'屬性,因爲你在問題中使用它。軟件工程就是把一個「大」問題分解成許多微小的步驟。 –