我在我的sql服务器数据库中以nvarchar(“HH:mm”)格式保存时间字段。
C#列表按时间倒序按时间顺序排序
根据每个人的建议。我现在将时间以DateTime格式保存在我的sql服务器数据库中。虽然我不需要日期部分,但我会使用这个属性,以便达到我试图做的效果。 现在我想要做的是根据当前的执行时间获取反向时间顺序的行列表。例如,如果我的表看起来像这样:
tblFavoriteTime
ID Time Post
1 05:00 AM Something..
2 09:00 AM Another..
3 12:00 PM Hello..
4 01:00 PM Its 8 am..
当我访问该网站在下午12:00,我需要的时间按时间倒序排列的列表。所以,12:00 PM会在列表的顶部,12:00PM -> 11:00AM -> 10:00AM -> .... 1:00AM -> 12:00AM -> 01:00PM -> 02:00PM -> ..... 11:00PM
使用上面的数据,我应该得到:
ID Time Post
3 12:00 PM Hello...
2 09:00 AM Another..
1 05:00 AM Something..
4 01:00 PM Its 1 pm..
有没有办法做到这一点使用LinQ .OrderBy()
或者是这样的:
var mylist = _repository.GetAll().ToList()
.OrderBy(x => x.TimeStamp.TimeOfDay() .......);
//as I explained, Im only getting the time of day though its a datetime object, date part wont matter..
请帮忙!
如何13:00最后排序后? –
为什么要将[time](https://msdn.microsoft.com/zh-CN/library/bb677243.aspx)作为nvarchar存储? –
@EhsanSajjad让我们说你有一个时钟,当你在上午12:00看着它时,想象时钟会逆时针转动,'12AM - > 11AM - > ... - > 1AM - > 12PM - 1 PM' –