2017-03-06 81 views
1

我無法獲得當地時間。期望走出IM從API獲得這樣的數據在c中沒有得到正確的日期時間格式#

樣本數據

2017-03-06T09:34:20.545Z 

3/6/2017, 3:04:20 PM 

即時得到價值這樣的 - 06/03/2017 04:34:20 AM

如何獲得適當的時間在格式「3/6/2017,3:04:20 PM」。

我試圖本地化的時間,但它給不正確的日期時間。

數據類型

public string UpdatedTime { get; set; } 

串updtime = bin.timestamp; // 2017年3月6日12點51分33秒 binModel.UpdatedTime = Convert.ToDateTime(updtime)的ToString(「M/d/yyyy,h:mm:ss tt「,CultureInfo.InvariantCulture); //預計時間 - 2017/3/6,6:21:33 PM

+0

你爲什麼試圖存儲'DateTime'在'string'屬性在第一位?保持它是正確的類型,你不需要擔心轉換。另外,你如何創建這個不正確的「輸出」? – DavidG

+0

不要* double *'d','M','H':let system * skip * zeores:'ToString(「d/M/yyyy h:mm:ss tt..'你可能想'h',而不是'H',因爲'21:00 PM'而不是'9:00 PM'看起來有點奇怪 –

+0

嘗試使用Convert.ToDateTime(bin.timestamp).ToString(「M/d/yyyy,HH:mm:ss tt 「)。這會給你想要的輸出。 – manika

回答

1

試試這個代碼:

private void button1_Click(object sender, EventArgs e) 
    { 
     label1.Text = DateTime.Now.ToString("dd/MM/yyyy,hh:mm:ss tt"); // case sensitive 
    } 
1

我個人總是reference this page當我忘記如何格式化時間戳。如果您必須使用字符串,而不是DateTime,則可以執行此操作。

obj.UpdatedTime = string.Format("{0: d/m/yyyy, HH:mm:ss tt", Convert.ToDateTime(data)}); 

字符串的格式可不管你的選擇,但鏈接的頁面一直是我最有幫助的。如果您可以使用DateTime屬性,請執行此操作。你會一直想用try/catch來包裝它,並確認你正在獲得你想要的值。

obj.UpdatedTime = Convert.ToDateTime(data); 

乾杯

2

您有不正確的格式在這裏:

"dd/MM/yyyy HH:mm:ss tt" 

HH使用24小時格式,但您使用AM/PM所以你需要12小時格式。使用hh

您的樣本數據是:

2017-03-06T09:34:20.545Z 

這意味着什麼。年份爲2017,月份爲03,日期爲06,時間相同。

對於您需要的輸出Month/Day/Year。但你使用這種格式:

"dd/MM/yyyy HH:mm:ss tt" 

在這裏你得到Day/Month/Year

你應該改變你的格式(也沒有在前面的零和與逗號):

"M/d/yyyy, h:mm:ss tt" 
+0

感謝它的工作正常...給所需的日期時間格式 – Swapna

+0

@Swapna,歡迎你 –

+0

你能告訴我如何改變爲dd/mm/yyyy格式,我想顯示日期在下個月,然後是第一年 – Swapna