将AM改为PM?

时间:2009-08-31 20:42:04

标签: c# .net asp.net asp.net-mvc

我发送了一个带有日期部分,小时部分和分钟部分以及AM / PM的字符串现在我想将其变成DateTime。但我不确定如何根据用户选择将时间部分更改为AM / PM。

我该怎么做?

2 个答案:

答案 0 :(得分:9)

您可以使用日期/小时/分钟初始化时间,然后如果是PM则添加12小时。或者,您可以使用am / pm格式化字符串并将其转换为日期时间。我会看看是否可以使用am / pm找到一个例子。

编辑: MSDN中的大量文档,包括“2/16/2008 12:15:12 PM”的C#示例。

  DateTime dateValue;
  string dateString = "2/16/2008 12:15:12 PM";
  try {
     dateValue = DateTime.Parse(dateString);
     Console.WriteLine("'{0}' converted to {1}.", dateString, dateValue);
  }   
  catch (FormatException) {
     Console.WriteLine("Unable to convert '{0}'.", dateString);
  }

答案 1 :(得分:1)

我喜欢用户为字符串格式设置首选项,然后在ToString()中使用该首选项。

string userPref = "yyyyMMdd HH:mm";
Console.WriteLine(DateTime.Now.ToString(userPref));
// 20090831 16:44
userPref = "yyyyMMdd hh:mm AMPM";
Console.WriteLine(DateTime.Now.ToString(userPref));
// 20090831 4:44 PM