2016-09-17 86 views
2

我正在創建一個Web應用程序,其中如果用戶想要在特定日期之間顯示數據,請使用ajax日曆擴展程序在文本框中輸入日期, 有兩個文本框 1從日期 2迄今爲止更改日期格式C#

9/1/2016 

9/16/2016 

這是日期是怎麼來了,但我想從數據庫中驗證的日期或之前的日期轉換,

而且我要的日期格式要像以下

2015-10-26 

2016-09-28 
+1

以'DateTime'對象的形式讀取日期,而不是字符串。格式化日期僅用於在UI中顯示它。 – dasblinkenlight

+1

日期沒有格式,它是如何顯示他們需要'格式'。這適用於日期轉換爲字符串。目前還不清楚確切的背景。如果您使用文本框來輸入日期,那麼您無法控制用戶如何輸入這些日期。使用DateTimePicker來代替它,它允許你對日期值的顯示進行一些控制。 – Steve

+1

@Steve日期來自日曆擴展程序並且格式保持不變 –

回答

2

讓我們假設你有兩個stri ng

string date="10-10-2016"; 
string datecon=""; 


datecon=DateTime.ParseExact(datefrm, "dd-MM-yyyy",CultureInfo.InvariantCulture).ToString("yyyy-MM-dd"); 
1
//26-10-2015 
CONVERT(VARCHAR(10),GETDATE(),110) 
//2015-10-26 
CONVERT(char(10), GetDate(),126) 

你可以把你約會時喜歡這個

0

格式將是更好的選擇,而不是轉換爲VARCHAR,並顯示它。但是你可以,如果你使用SQL Server 2012或以上

DECLARE @d DATETIME = '10/01/2011'; 

SELECT FORMAT(@d,'yyyy-MM-dd') 
0

使用的格式,我認爲你應該使用

select CONVERT(VARCHAR(10),GETDATE(),120) 

和輸出2016年9月17日

0

您可以使用下面這段代碼:

DECLARE @INPUT_DATE_1 DATETIME = '9/1/2016' 

SELECT CONVERT(VARCHAR(10), @INPUT_DATE_1, 126) as FORMATTED_DATE_1 


DECLARE @INPUT_DATE_2 DATETIME = '9/16/2016' 

SELECT CONVERT(VARCHAR(10), @INPUT_DATE_2, 126) as FORMATTED_DATE_2