string转DateTime

/// <summary>
/// 字符串转时间
/// </summary>
/// <param name="dateString">时间字符串</param>
/// <param name="format">时间的原始格式 比如yyyyMMdd(美国佬时间时可不设置)</param>
/// <param name="isUsType">是否是美国佬时间(02 23 2021  4:35PM)这种就是指美国佬时间</param>
/// <returns></returns>
public static DateTime ConvertDateTime(string dateString, string format, bool isUsType)
{
    DateTime result;
    if (isUsType)
    {
        DateTimeFormatInfo dtfi = new CultureInfo("en-US", false).DateTimeFormat;
        dtfi.ShortTimePattern = "t";
        result = DateTime.Parse(dateString, dtfi);
    }
    else
    {
        CultureInfo provider = new CultureInfo("fr-FR");
        result = DateTime.ParseExact(dateString, format, provider);
    }
    return result;
}

 

需要引入命名空间 using System.Globalization;

 

发现用Convert.ToDateTime(xxxx)在转一些特殊的时间格式的时候,比如说"yyyyMMdd"、"yyyyMMddHHmmss"这种会报错。但是如果中间有符号的,比如说"yyyy-MM-dd HH:mm:ss"就不会报错,用上面那段代码是都可以使用。

posted on 2020-10-29 11:11  炼金师  阅读(1310)  评论(0编辑  收藏  举报

导航