是否有可能将string
(数据库中存储为varchar
的日期)转换为c#中的datetime
?如何将字符串转换为C#中的DateTime?
例如。我遇到存储日期为varchar一个表,并将其存储值作为例子
01/21/14 11:42:36 PM
我想要得到的结果格式yyyy-mm-dd
我想,
CultureInfo enUS = new CultureInfo("en-US");
DateTime d;
DateTime.TryParseExact("01/21/14 11:42:36 PM", "yyyy-mm-dd", enUS, DateTimeStyles.None, out d);
也试过以下步骤:
CultureInfo enUS = new CultureInfo("en-US");
DateTime d = Convert.ToDateTime("01/21/14 11:42:36 PM");
string dt = Convert.ToString(d);
DateTime.TryParseExact(dt, "MM/dd/yy hh:mm:ss tt", enUS, DateTimeStyles.None, out d);
var output = d.ToString("yyyy-mm-dd");
获得值1/1/0001 12:00..
in dt
。
可能是什么原因?还需要以何种格式通过日期(dt
以上情况)至DateTime.TryParseExact(..)
一个'DateTime'不*有*的格式。你传递给TryParseExact的格式是你想要解析的字符串*的格式。 –
_“将日期存储为varchar的表”_这是具有更高优先级的问题。 –
明显的日期不应该被存储为varchar。 MMDDYY也不是世界上大部分地区的日期格式。您是否正在寻找一种针对这种特定情况的硬编码解决方案,或者是一种更一般的解决方案? –