有人能帮我将字符串 14/04/2010 10:14:49.PM 转换为 C#.net 中的日期时间格式,而不会丢失时间格式吗?
var date = DateTime.ParseExact(@"14/04/2010 10:14:49.PM", @"dd/MM/yyyy hh:mm:ss.tt", null);
使用字符串表示法
date.ToString(@"dd/MM/yyyy hh:mm:ss.tt");
也可以像这样创建扩展方法:
public enum MyDateFormats
{
FirstFormat,
SecondFormat
}
public static string GetFormattedDate(this DateTime date, MyDateFormats format)
{
string result = String.Empty;
switch(format)
{
case MyDateFormats.FirstFormat:
result = date.ToString("dd/MM/yyyy hh:mm:ss.tt");
break;
case MyDateFormats.SecondFormat:
result = date.ToString("dd/MM/yyyy");
break;
}
return result;
}
DateTime result =DateTime.ParseExact(@"14/04/2010 10:14:49.PM", @"dd/MM/yyyy HH:mm:ss.tt",null);
DateTime.ParseExact(@"14/04/2010 10:14:49.PM", @"dd/MM/yyyy hh:mm:ss");
DateTime.Parse(@"14/04/2010 10:14:49.PM");
应该可以,但我现在离开VS比较远,无法尝试。
使用转换函数
using System;
using System.IO;
namespace stackOverflow
{
class MainClass
{
public static void Main (string[] args)
{
Console.WriteLine(Convert.ToDateTime("14/04/2010 10:14:49.PM"));
Console.Read();
}
}
}
DateTime.ParseExact
,因为根据当前线程的区域设置,Parse
方法的行为会有些不同。DateTime.ParseExact(yourString,
"dd/MM/yyyy hh:mm:ss.tt", null)