2009-01-05 17 views

Antwort

9
DateTime.Now.ToString("h:mm tt") 
DateTime.Now.ToString("MM/dd/yyyy") 

Hier sind einige common format strings

+0

praktisch Spickzettel und schamlose Werbung zu bekommen: http://john-sheehan.com/blog/net-cheat-sheets –

19

Sie Format als auch Strings verwenden können.

string time = DateTime.Now.ToString("hh:mm:ss"); // includes leading zeros 
string date = DateTime.Now.ToString("dd/MM/yy"); // includes leading zeros 

oder einige Tastenkombinationen, wenn das Format für Sie arbeitet

string time = DateTime.Now.ToShortTimeString(); 
string date = DateTime.Now.ToShortDateString(); 

Entweder funktionieren sollte.

+0

Sie haben diese rückwärts sollten hh: mm: ss für Zeit und dd/MM/yy für Datum sein. –

+4

Für 24-Stunden-Uhr verwenden HH: mm: ss –

+0

Für 12-Stunden-Uhr hh: mm: ss tt –

58

Ich möchte nur etwas in diesen Antworten hervorheben. In einer Datums-/Uhrzeitformatzeichenfolge wird '/' durch ersetzt, unabhängig davon, ob das Datumstrennzeichen des Benutzers ist, und ':' wird durch ersetzt, unabhängig davon, welcher Zeittrenner des Benutzers ist. Das heißt, wenn ich mein Datumstrennzeichen auf '.' (im Systemsteuerungsprogramm für Regions- und Sprachoptionen, "intl.cpl"), und mein Zeittrennzeichen sollte "?" (Nur so tun, ich bin verrückt wie das), dann

DateTime.Now.ToString("MM/dd/yyyy h:mm tt") 

01.05.2009 6?01 PM

In den meisten Fällen zurückkommen würde, das ist, was Sie wollen, weil Sie die Benutzereinstellungen respektieren wollen. Wenn jedoch Sie das Format benötigen etwas Bestimmtes sein (sagen wir, wenn es von jemand anderem auf der Draht wieder heraus analysiert geht), dann müssen Sie diese Sonderzeichen entkommen:

DateTime.Now.ToString("MM\\/dd\\/yyyy h\\:mm tt") 

oder

DateTime.Now.ToString(@"MM\/dd\/yyyy h\:mm tt") 

was würde jetzt zurückkehren

01/05/2009 6:01 PM

EDIT:

Dann wieder, wenn Sie wirklich wollen die Benutzereinstellungen respektieren, sollten Sie eine der Standard-Datum/Zeit-Format-Strings verwenden, so dass Sie nicht nur die Auswahl von Separatoren des Benutzers respektieren, aber auch das allgemeine Format des Datums und/oder der Zeit.

DateTime.Now.ToShortDateString() 
DateTime.Now.ToString("d") 

Beide würden "2009.01.05" mit Standard-US-Optionen zurückzukehren, oder "05/01/2009" Standard UK Optionen, zum Beispiel.

DateTime.Now.ToLongDateString() 
DateTime.Now.ToString("D") 

Beide würden zurückkehren "Monday, 5. Januar 2009" in der US-locale oder "5. Januar 2009" in UK.

DateTime.Now.ToShortTimeString() 
DateTime.Now.ToString("t"); 

"6:01 PM" in US, "18:01" in Großbritannien.

DateTime.Now.ToLongTimeString() 
DateTime.Now.ToString("T"); 

"06.01.04" in den USA, "18.01.04" in UK.

DateTime.Now.ToString() 
DateTime.Now.ToString("G"); 

"2009.01.05 18.01.04" in USA "05.01.2009 18.01.04" in UK.

Viele weitere Optionen sind verfügbar. Siehe Dokumente für standard date and time format strings und custom date and time format strings.

+1

Upvoted, weil dies besonders beim Verschieben von Daten zwischen Systemen sehr groß sein kann. –

4

Seien Sie vorsichtig, wenn Sie zweimal auf DateTime.Now zugreifen, da es möglich ist, dass die Anrufe um Mitternacht übertragen werden und Sie in seltenen Fällen verrückte Ergebnisse erhalten und sich den Kopf kratzen.

Um sicher zu sein, sollten Sie DateTime.Now einer lokalen Variablen zuweisen zuerst, wenn Sie es mehr als einmal verwenden werden:

var now = DateTime.Now; 
var time = now.ToString("hh:mm:ss tt"); 
var date = now.ToString("MM/dd/yy"); 

Beachten Sie die Verwendung von Kleinbuchstaben „hh“ tun Anzeige Stunden von 00-11 sogar am Nachmittag, und "tt" um AM/PM zu zeigen, als die Frage angefordert. Wenn Sie 24 Stunden 00-23 möchten, verwenden Sie "HH".

3

Methode System Datum und Uhrzeit in einem einzigen String

public static string GetTimeDate() 
{ 
    string DateTime = System.DateTime.Now.ToString("dd-MM-yyyy HH:mm:ss"); 
    return DateTime; 
} 

sample OUTPUT :-16-03-2015 07:45:15 
Verwandte Themen