C# string转换成datetime 三种方式

本文详细介绍使用C#进行日期时间转换的三种方法:Convert.ToDateTime(string)、Convert.ToDateTime(string, IFormatProvider)与DateTime.ParseExact()。通过实例展示如何处理不同格式的日期字符串,并提供空值处理策略。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

三种方法可转换 Convert.ToDateTime(string)、Convert.ToDateTime(string,
IFormatProvider)、DateTime.ParseExact()

三种方法可转换

Convert.ToDateTime(string)、Convert.ToDateTime(string, IFormatProvider)、DateTime.ParseExact()

方式一:

Convert.ToDateTime(string)

Convert.ToDateTime("2020-04-21 15:57:32")
注意:string格式要求,必须是yyyy-MM-dd hh:mm:ss

方式二:

Convert.ToDateTime(string, IFormatProvider)

DateTimeFormatInfo dtFormat = new System.GlobalizationDateTimeFormatInfo();
dtFormat.ShortDatePattern = "yyyy/MM/dd";
DateTime  dt = Convert.ToDateTime("2020/12/13", dtFormat);

说明:任意格式可自定义规则。

方式三:

DateTime.ParseExact()

string dateString = "20201213";
DateTime dt = DateTime.ParseExact(dateString, "yyyyMMdd", System.Globalization.CultureInfo.CurrentCulture);

转换示例

// string 转 DateTime
DateTime dt = Convert.ToDateTime("2020-04-21 15:57:32");

// DateTime 转 string
String strtime = dt.ToString("yyyy-MM-dd HH:mm:ss");

空值处理

DateTime? dt2 = reader["updatetime"] is DBNull ? new Nullable<DateTime>() : Convert.ToDateTime(reader["updatetime"]); 
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值