2017-07-15 108 views
-4

该字段是表中的nvarchar,我从日历选择器dd-MM-yyyy获取日期。我使用下面的语句从字符串转换为01-01-0001的转换日期时间

DateTime dtn = new DateTime(); 
    DateTime.TryParse(txtPrevFromDate.Text, new CultureInfo("en-GB", true), DateTimeStyles.None, out dtn); 
    objKYT.Str_PrevFromDate = dtn.ToString(); 

转换数据的日期是11/30/2017 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"); 

可以请你告诉我,我怎么能解决这个

回答

2

解析失败和dtydt5永远不会重写,因为String was not recognized as a valid DateTime声明。这是prefererable始终使用ParseExact并以这样的方式明确地告诉预计什么样的格式:

dtydt5 = DateTime.ParseExact("11/30/2017 12:00:00 AM", "M/d/yyyy h:mm:ss tt", CultureInfo.InvariantCulture); 

此语句返回30/11/2017这是你要搜索的内容我想

0

如果我是正确的,那么你想要时间格式的日期。如果是的话,那么你可以使用下面的代码片段。

 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"); 
相关问题