我碰到的是,我需要得到只有一种情况Date,从出来DateTime.
我有一个DateTime? StartDate属性(Nullable)用于保存日期值
我试过下面,
var d = Convert.ToDateTime(StartDate).Date;
但它回归我,例如. 6/22/2006 12:00:00AM
做完之后 var d = Convert.ToDateTime(StartDate).Date.ToString("d");
我能得到d 6/22/2006..但我不想把我转换DateTime?成String
是他们的任何方式只得到Date没有使用ToString("d")?
我得到一个包含LINQ表达式的项目列表,
var list = (from p in listData
orderby p.Code ascending
select new KeyValuePair<int, string>(p.Code, p.DESC)
).Distinct<KeyValuePair<int, string>>().ToList<KeyValuePair<int, string>>();
Run Code Online (Sandbox Code Playgroud)
我把列表作为,
2,MEDICAL
5,RETAIL
6,OTHER
7,GOVT
Run Code Online (Sandbox Code Playgroud)
订购 Code
现在,我的预期结果如下,
2,MEDICAL
5,RETAIL
7,GOVT
6,OTHER
Run Code Online (Sandbox Code Playgroud)
我知道我可以通过修改sql table包含这些值或通过向column表中添加额外的数字来指定序列顺序来获得预期的结果.
是否可以在LINQ不修改表格的情况下获得结果?
是否可以将string(varchar在数据库中存储的日期)转换datetime为c#?
例如.我有一个表将日期存储为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);
Run Code Online (Sandbox Code Playgroud)
还试过以下步骤:
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");
Run Code Online (Sandbox Code Playgroud)
获得价值1/1/0001 12:00..在dt.
可能是什么原因?我还需要以哪种格式传递日期(dt在上面的例子中)DateTime.TryParseExact(..)