2017-01-31 3 views
0

IAm oder pm String auf Datum Uhrzeit Format in C#?

int year=2017; 
int month=02; 
int day=01; 
int hour=11; 
int minutes=30; 
String format="AM"; 

DateTime datetime=new DateTime(year,month,day,hour,minutes,0); 

So haben, wie ich diese stringAM oder PM Format hinzufügen können in Datetime?

+0

Haben Sie etwas gesucht? –

+2

Mögliches Duplikat von [Wie konvertiert man eine Zeichenfolge, die AM/PM zu DateTime enthält?] (Http://stackoverflow.com/questions/28672191/how-to-convert-a-string-containing-am-pm-to-datetime) –

+0

Ja, Sie sagen, von string.format() zu Datum Zeit zu ändern.Ich möchte nur wissen, kann ich dieses Format hinzufügen, wenn ich neue Datum Zeit erstellen. – Jze

Antwort

1

Die Antwort ist hier: Convert to DateTime with AM/PM

DateTime.ParseExact("2/22/2015 9:54:02 AM", "M/d/yyyy h:mm:ss tt", CultureInfo.InvariantCulture); 

In Ihrem Fall:

int year=2017; 
int month=02; 
int day=01; 
int hour=11; 
int minutes=30; 
String format="AM"; 

DateTime datetime = DateTime.ParseExact($"{month}/{day}/{year} {hour}:{minutes}:00 {format}", 
      "M/d/yyyy hh:mm:ss tt", CultureInfo.InvariantCulture); 
1

Eine Möglichkeit, einen Zustand zu verwenden ist:

int year = 2017; 
int month = 2; 
int day = 1; 
int hour = 11; 
int minutes = 30; 
String format = "AM"; 

DateTime datetime = new DateTime(year, 
           month, 
           day, 
           (format.ToUpperInvariant() == "PM" && hour < 12) ? 
            hour + 12 : hour, 
           minutes, 
           00);