C# 从字符串转换为01-01-0001的转换日期时间
该字段在表中作为nvarchar,我从日历选择器dd MM yyyy获取日期。我使用下面的语句将数据保存在表中C# 从字符串转换为01-01-0001的转换日期时间,c#,asp.net,datetime,C#,Asp.net,Datetime,该字段在表中作为nvarchar,我从日历选择器dd MM yyyy获取日期。我使用下面的语句将数据保存在表中 DateTime dtn = new DateTime(); DateTime.TryParse(txtPrevFromDate.Text, new CultureInfo("en-GB", true), DateTimeStyles.None, out dtn); objKYT.Str_PrevFromDate = dtn.ToString(); 转换数据后,日期为2
DateTime dtn = new DateTime();
DateTime.TryParse(txtPrevFromDate.Text, new CultureInfo("en-GB", true), DateTimeStyles.None, out dtn);
objKYT.Str_PrevFromDate = dtn.ToString();
转换数据后,日期为2017年11月30日12:00:00 AM。但当我将此数据转换为显示时,请将其转换为01/01/0001
。下面是我使用的语句
DateTime dtydt5 = new DateTime();
DateTime.TryParse(objKYT.Str_PrevFromDate, new CultureInfo("en-GB", true), DateTimeStyles.None, out dtydt5);
lblPrevFrom.Text = dtydt5.ToString("dd/MM/yyyy");
您能告诉我如何解决此问题吗?解析失败,
dtydt5
从未被覆盖,因为字符串未被识别为有效的日期时间。最好始终使用ParseExact
,并以这种方式明确说明所需的格式:
dtydt5 = DateTime.ParseExact("11/30/2017 12:00:00 AM", "M/d/yyyy h:mm:ss tt", CultureInfo.InvariantCulture);
此语句返回2017年11月30日的30
,我想这就是您要搜索的内容如果我是正确的,那么您需要日期和时间格式。如果是,则可以使用下面的代码段
DateTime dtn = new DateTime();
DateTime.TryParse("20-05-1993", new CultureInfo("en-GB", true), DateTimeStyles.None, out dtn);
var st = dtn.ToString();
DateTime dtydt5 = new DateTime();
DateTime.TryParse(st, new CultureInfo("en-GB", true), DateTimeStyles.None, out dtydt5);
var st1 = dtydt5.ToString("dd/MM/yyyy hh:mm:ss tt");