2017-01-31 78 views
0

我已經設置上午或下午字符串日期時間格式在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); 

那麼我怎樣才能添加此AMPM格式string爲DateTime?

+0

你搜索了什麼嗎? –

+2

[如何將包含AM/PM的字符串轉換爲DateTime?]的可能重複(http://stackoverflow.com/questions/28672191/how-to-convert-a-string-containing-am-pm-to-datetime ) –

+0

是的,他們說從string.format()更改爲date.I只想知道我可以添加這種格式,當我創建新的日期時間。 – Jze

回答

1

答案就在這裏:Convert to DateTime with AM/PM

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

你的情況:

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

一種方法是使用一個條件:

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); 
相關問題