.net可空类型比较的问题

数据的流 2015-09-15 07:08:06
比如现在有一个DateTime?和DateTime怎么去比较两者是不是同一天,Convert直接跪了。。。
...全文
258 7 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
  • 打赏
  • 举报
回复
.DateDiff("d", p.createtime, t_data) ==0 不需要取Value
  • 打赏
  • 举报
回复
https://technet.microsoft.com/zh-cn/magazine/system.data.objects.sqlclient.sqlfunctions(VS.110).aspx listview = entities.p2p_paywithdrawals.Where(p => p.createtime.HasValue && System.Data.Objects.SqlClient.SqlFunctions.DateDiff("d", p.createtime.Value, t_data) == 0) p.createtime.HasValue会翻译为sql中的is null判断,DateDiff这个方法会隐式转换datetime为可空类型,只不过SQL中的dateDiff与NULL比较可能返回空值,没试过EF中是否会有问题
数据的流 2015-09-16
  • 打赏
  • 举报
回复
引用 3 楼 Imcx_ 的回复:
DateTime.Compare()
可空DateTime类型和DateTime类型不是一码事吧
Imcx 2015-09-16
  • 打赏
  • 举报
回复
DateTime.Compare()
数据的流 2015-09-16
  • 打赏
  • 举报
回复
引用 1 楼 starfd 的回复:
DateTime? dt1;
DateTime dt2;
if(dt1.HasValue)
{
reurn dt1.Value.Date == dt2.Date;
}
return false;


var year = Convert.ToInt32(trade_date.Substring(0, 4));
var month = Convert.ToInt32(trade_date.Substring(4, 2));
var day = Convert.ToInt32(trade_date.Substring(6, 2));
var t_date = new DateTime(year, month, day);
listview = entities.p2p_paywithdrawals.Where(p => p.createtime.Value.Date == t_date &&...
Imcx 2015-09-16
  • 打赏
  • 举报
回复
引用 4 楼 shujudeliu 的回复:
[quote=引用 3 楼 Imcx_ 的回复:] DateTime.Compare()
可空DateTime类型和DateTime类型不是一码事吧[/quote] 为什么不判断下呢? 空的内容应该是不用去比较了吧? if(!DateTime.TryParse(...)) { //... } 然后能转成时间的格式的就 用DateTime.Compare(...,...)判断早晚
  • 打赏
  • 举报
回复
DateTime? dt1;
DateTime dt2;
if(dt1.HasValue)
{
     reurn dt1.Value.Date == dt2.Date;
}
return false;

111,093

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • AIGC Browser
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧