2016-09-17 108 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