将时间跨度转换为日期时间
本文关键字:日期 时间 转换 时间跨度 | 更新日期: 2023-09-27 18:13:12
我的功能是:
public async Task<IHttpActionResult> RecentAddedTags(int daysago)
{
TimeSpan duration = DateTime.UtcNow - DateTime.Today.AddDays(-daysago);
DateTime days = DateTime.UtcNow - duration;
var ret = from tag in db.Tags
where tag.time.Equals(days)
select new
{
postedById = tag.AspNetUser.Id,
postedByName = tag.AspNetUser.UserName,
name = tag.name,
info = tag.info,
time = tag.time,
id = tag.Id,
};
return Ok(ret);
}
如果我调用函数作为RecentAddedTags(2)
,它应该返回2天前创建的所有标签。但是它给出了错误:
无法创建类型为"System.Object"的常数值。只有在此上下文中支持基本类型或枚举类型。
days
对象存在一些问题。我做错了什么?
比较DateTime对象中的日期,它将为您工作
var ret = from tag in db.Tags.ToList()
where tag.time.Date == days.Date
select new
{
postedById = tag.AspNetUser.Id,
postedByName = tag.AspNetUser.UserName,
name = tag.name,
info = tag.info,
time = tag.time,
id = tag.Id,
};
你需要改变
tag.time.Equals(days)
tag.time == days;
(不完全确定为什么可以)