2017-02-26 33 views
0

即时将日期转换为tostring,但我没有获取正确格式的日期,并且即时获得时间5小时31分钟和10晚于预期时间的秒数。我需要印度科尔卡塔时区。以dd/mm/yyyy格式获取时间并且获取的时间比C#中的预期时间短

actual time - 2017-02-26T17:45:34.851Z 
getting time- 2/26/2017, 11:16:44 PM 


public string UpdatedTime { get; set; } 

控制器代码

BinDetailsViewModel binModel = new BinDetailsViewModel(); 
binModel.UpdatedTime = Convert.ToDateTime(bin.timestamp.ToString()).ToString(); 
+0

确定即时检查..... – Swapna

+1

为什么你要将'DateTime'转换为字符串呢?只要将你的模型属性改为'DateTime',你就不会有这个问题。您将'DateTime'转换为'string'再转换成'DateTime'再次转换为'string',全部在一行代码中! – DavidG

+0

@DavidG你是对的。我即将建议相同 –

回答

2

我认为你的时间是UTC,所以你可以通过使用.ToLocalTime()其转换为本地时间。

而且您需要在.ToString()方法中提供日期时间格式。

DateTime.ToLocalTime().ToString("MM/dd/yyyy HH:mm:ss.fff", CultureInfo.InvariantCulture); 

您可以如下使用;

binModel.UpdatedTime = Convert.ToDateTime(bin.timestamp).ToLocalTime().ToString("MM/dd/yyyy HH:mm:ss.fff", CultureInfo.InvariantCulture); 
+0

可以更改我的代码 – Swapna

+0

binModel.UpdatedTime = Convert.ToDateTime((“MM/dd/yyyy HH:mm:ss。 fff“,CultureInfo.InvariantCulture))。ToLocalTime(); – Swapna

+0

@Swapna是bin.timestamp模型中的字符串? –