C# 如何将日期时间仅定为日期
这是我的看法C# 如何将日期时间仅定为日期,c#,C#,这是我的看法 SELECT AmenityValidDatesPriceID, AmenityID, AmenityValidDatesFrom, AmenityValidDatesTo, AddedDate, LastModifyDate, AddedUser, LastModifyUser, IsDeleted FROM dbo.DataManagement_Hotels_Amenities_Amenit
SELECT AmenityValidDatesPriceID, AmenityID, AmenityValidDatesFrom, AmenityValidDatesTo, AddedDate, LastModifyDate, AddedUser, LastModifyUser,
IsDeleted
FROM dbo.DataManagement_Hotels_Amenities_AmenityValidDatesPrice
WHERE (IsDeleted = 0)
它返回我amentityvaliddatesfrom,amentityvaliddatesto作为datetime
在前端,我只需要约会
public List<BLL.Entities.DataManagement_Hotels_Amenities_AmenityValidDatesPrice> SelectByAmenityID(int ID)
{
DAL.DynamicSearchViewDataContext Viewcontext = new DAL.DynamicSearchViewDataContext();
DAL.SelectSectionDataContext SpContext = new DAL.SelectSectionDataContext();
var Query = (from car in Viewcontext.View_DataManagement_Hotel_Amenities_Dates
where car.AmenityID.Equals(ID)
select new BLL.Entities.DataManagement_Hotels_Amenities_AmenityValidDatesPrice
{
AmenityID = (int)car.AmenityID,
//AmenityValidDatesFrom = (DateTime)car.AmenityValidDatesFrom,
//AmenityValidDatesTo = (DateTime)car.AmenityValidDatesTo
AmenityValidDatesFrom = ((DateTime)car.AmenityValidDatesFrom).Date,
AmenityValidDatesTo = ((DateTime)car.AmenityValidDatesTo).Date
}).ToList<BLL.Entities.DataManagement_Hotels_Amenities_AmenityValidDatesPrice>();
return Query;
}
public List selectbyamendityid(int-ID)
{
DAL.DynamicSearchViewDataContext Viewcontext=新建DAL.DynamicSearchViewDataContext();
DAL.SelectSectionDataContext SpContext=新建DAL.SelectSectionDataContext();
var Query=(来自Viewcontext.View\数据管理\酒店\设施\日期中的汽车
其中汽车修正ID等于(ID)
选择新的BLL.Entities.DataManagement\u Hotels\u communications\u amendityValidDatesPrice
{
修正项ID=(int)car.amentityID,
//AmentityValidDatesFrom=(日期时间)car.AmentityValidDatesFrom,
//AmentityValidDataTesto=(日期时间)car.AmentityValidDataTesto
amendityValidDatesFrom=((日期时间)car.amendityValidDatesFrom).日期,
amendityvaliddatesto=((日期时间)car.amendityvaliddatesto.Date
}).ToList();
返回查询;
}
这是我的密码
它给
隐式转换错误
请更改您的视图,如下所示:
SELECT AmenityValidDatesPriceID,
AmenityID,
CONVERT(VARCHAR, AmenityValidDatesFrom,101) AS AmenityValidDatesFrom,
CONVERT(VARCHAR, AmenityValidDatesTo,101) AS AmenityValidDatesTo,
CONVERT(VARCHAR, AddedDate,101) AS AddedDate,
CONVERT(VARCHAR, LastModifyDate,101) AS LastModifyDate,
AddedUser,
LastModifyUser,
IsDeleted
FROM dbo.DataManagement_Hotels_Amenities_AmenityValidDatesPrice
WHERE IsDeleted = 0
它应该会起作用
更新:
需要进行空检查
public List<BLL.Entities.DataManagement_Hotels_Amenities_AmenityValidDatesPrice> SelectByAmenityID(int ID)
{
DAL.DynamicSearchViewDataContext Viewcontext = new DAL.DynamicSearchViewDataContext();
DAL.SelectSectionDataContext SpContext = new DAL.SelectSectionDataContext();
var Query = (from car in Viewcontext.View_DataManagement_Hotel_Amenities_Dates
where car.AmenityID.Equals(ID)
select new BLL.Entities.DataManagement_Hotels_Amenities_AmenityValidDatesPrice
{
AmenityID = (int)car.AmenityID,
if (car.AmenityValidDatesFrom != null && car.AmenityValidDatesFrom.ToString() != "")
{
AmenityValidDatesFrom = car.AmenityValidDatesFrom.Date
},
if (car.AmenityValidDatesTo != null && car.AmenityValidDatesTo.ToString() != "")
{
AmenityValidDatesTo = car.AmenityValidDatesTo.Date
}
}).ToList<BLL.Entities.DataManagement_Hotels_Amenities_AmenityValidDatesPrice>();
return Query;
}
public List selectbyamendityid(int-ID)
{
DAL.DynamicSearchViewDataContext Viewcontext=新建DAL.DynamicSearchViewDataContext();
DAL.SelectSectionDataContext SpContext=新建DAL.SelectSectionDataContext();
var Query=(来自Viewcontext.View\数据管理\酒店\设施\日期中的汽车
其中汽车修正ID等于(ID)
选择新的BLL.Entities.DataManagement\u Hotels\u communications\u amendityValidDatesPrice
{
修正项ID=(int)car.amentityID,
if(car.amendityvaliddatesfrom!=null&&car.amendityvaliddatesfrom.ToString()!=“”)
{
amendityValidDatesFrom=car.amendityValidDatesFrom.Date
},
if(car.amendityvaliddatesto!=null&&car.amendityvaliddatesto.ToString()!=“”)
{
amendityvaliddatesto=car.amendityvaliddatesto.Date
}
}).ToList();
返回查询;
}
试试这个
SELECT AmenityValidDatesPriceID ,
AmenityID ,
CONVERT(VARCHAR(10), AmenityValidDatesFrom, 103) AS AmenityValidDatesFrom ,
CONVERT(VARCHAR(10), AmenityValidDatesTo, 103) AS AmenityValidDatesTo ,
CONVERT(VARCHAR(10), AddedDate, 103) AS AddedDate ,
CONVERT(VARCHAR(10), LastModifyDate, 103) AS LastModifyDate ,
AddedUser ,
LastModifyUser ,
IsDeleted
FROM dbo.DataManagement_Hotels_Amenities_AmenityValidDatesPrice
WHERE IsDeleted = 0
它将以“dd/mm/yyyy”格式给出日期。如果要以“mm/dd/yyyy”格式获取日期,请使用101而不是103使用此视图保留
DATETIME
数据类型,同时删除时间部分:
SELECT AmenityValidDatesPriceID ,
AmenityID ,
DATEADD(D, 0, DATEDIFF(D, 0, AmenityValidDatesFrom)) AS AmenityValidDatesFrom
DATEADD(D, 0, DATEDIFF(D, 0, AmenityValidDatesTo)) AS AmenityValidDatesTo
DATEADD(D, 0, DATEDIFF(D, 0, AddedDate)) AS AddedDate
DATEADD(D, 0, DATEDIFF(D, 0, LastModifyDate)) AS LastModifyDate
AddedUser ,
LastModifyUser ,
IsDeleted
FROM dbo.DataManagement_Hotels_Amenities_AmenityValidDatesPrice
WHERE IsDeleted = 0
你的问题是什么?您的消息错误是什么?您使用的是sql server还是其他?可能与数据类型是什么
car重复。是否从修改验证数据?当您得到错误时,它的值是什么?参数“value”的类型错误。应为“System.DateTime”。实际的'System.Nullable'1[System.DateTime]'。我遇到此错误所有日期列中是否有空单元格或空值单元格?如果有空,则只有amendityValidDatesFrom=((DateTime)car.amendityValidDatesFrom).日期,amendityValidDatesTo=((DateTime)car.amendityValidDatesTo).日期,这两条语句将给您错误。我修改了视图。当我再次尝试获取数据时,代码中显示此错误,参数“value”的类型错误。应为“System.DateTime”。实际的“System.Nullable`1[System.DateTime]”。这将允许可为Null的类型:car.AmentityValidDateFrom.GetValueOrDefault().Date