如何转换字符串" dd / mm / yyyy HH:MM:SS"到" HH:MM"在线测试持续时间?

时间:2016-03-10 07:10:57

标签: c# datetime model-view-controller

代码: -

public string TestDuration { get; set; }
 TestDuration =DateTime.Parse(dr.TestDuration.ToString()).ToShortTimeString() ;

我有一个格式为dd/mm/yyyy HH:MM:SS am/pm的字符串,它在我的视图中显示日期和时间,我需要格式为hh:mm的在线测试时间的小时和分钟。

示例:testduration= 2hr or 2:30 mins

1 个答案:

答案 0 :(得分:2)

  

我有一个DateTime

类型的字符串

可能。您有stringDateTime。你的变量类型不能都是。

您可以使用DateTime格式设置HH:mm格式,例如;

var result = DateTime.Parse(dr.TestDuration.ToString())
                           .ToString("hh:mm", CultureInfo.InvariantCulture);

您没有提到它,但另一方面,您的dr.TestDuration 已经可能是DateTime。您可能想要格式化此值而不是生成它的字符串表示形式,将其解析为DateTime并再次生成它的字符串表示。

var result = dr.TestDuration.ToString("hh:mm", CultureInfo.InvariantCulture);

编辑后:

由于您的TestDuration字符串格式为"dd/MM/yyyy HH:mm:ss tt",因此您需要将其解析为DateTime并生成hh:mm格式的字符串表示形式。

TestDuration = DateTime.ParseExact(dr.TestDuration, "dd/MM/yyyy HH:mm:ss tt",
                                   CultureInfo.InvariantCulture)
                       .ToString("hh:mm", CultureInfo.InvariantCulture);