2016-09-17 17 views
2

Ich erstelle eine Web-App, in der, wenn ein Benutzer die Daten zwischen dem bestimmten Datum zeigen möchte er das Datum in das Textfeld mit Hilfe von AJAX Kalender Extender eingeben, Es gibt zwei Textfelder 1 Von Datum 2 Bisherändern Datumsformat C#

9/1/2016 

9/16/2016 

Und das ist, wie das Datum kommt, aber ich mag das Datum konvertieren, bevor die Daten aus der Datenbank Validierung

Und ich mag das Datumsformat wie folgt sein

2015-10-26 

2016-09-28 
+1

Datum als DateTime-Objekt gelesen, nicht als String. Formatieren Sie das Datum nur für die Anzeige in der Benutzeroberfläche. – dasblinkenlight

+1

Datumsangaben haben kein Format, es ist wie Sie sie zeigen, die ein 'Format' erfordern. Dies geschieht, indem auf eine Umwandlung in eine Zeichenfolge angewendet wird. Der genaue Kontext ist nicht klar. Wenn Sie ein TextBox verwenden, um Daten einzugeben, haben Sie keine Kontrolle darüber, wie Ihr Benutzer diese Daten eingibt. Verwenden Sie stattdessen einen DateTimePicker, der Ihnen eine gewisse Kontrolle über die Anzeige Ihres Datumswertes ermöglicht. – Steve

+1

@Steve das Datum kommt vom Kalander Extender und das Format bleibt gleich –

Antwort

2

nehmen wir an, Sie haben zwei 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) 

Sie können Ihr Datum Zeit wie dieses

0

Format wird die bessere Option konvertieren, anstatt in varchar umzuwandeln und sie anzuzeigen. Aber Sie können Format verwenden, wenn Sie SQL Server 2012 oder höher verwenden

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

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

ich denke, Sie

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

verwenden sollten und Ausgang ist 2016-09-17

0

Sie verwenden das folgende Stück Code:

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