c# - 如何在 Linq c# 中从日期时间中删除日期
问题描述
我只想从 linq 查询中的日期时间变量中获取时间。例如,如果我有一个包含值的日期时间数组
["02/12/1970 14:52:06","14/06/2015 12:32:44"]
然后如何从中提取最短时间,以便我得到类似的输出
"12:32:44"
好像我取这两个最小值一样,它将给出输出
"14:52:44"
,而不是"12:32:44"
因为第一个值的日期部分小于另一个值。
我试试这个代码:
time1 = table1.Min(x=>x.StartTime)
但它会给出“14:52:06”作为输出
有什么建议么?
解决方案
首先从 DateTime 中提取时间,然后获取最小值
var dates = new List<DateTime>
{
new DateTime(2020, 6, 9, 12, 35, 45),
new DateTime(2020, 6, 10, 11, 35, 45)
};
var minTime = dates
.Select(d => d.TimeOfDay)
.Min();
#更新
如果要获取具有最小time
部分的 DateTime 对象,请使用以下命令:
var dateWithMinTime = dates
.OrderBy(d => d.TimeOfDay)
.FirstOrDefault();
推荐阅读
- javascript - php和javascript替换正则表达式
- json - 删除/替换 Azure 逻辑应用中解析的 JSON 输出中的字符
- typo3 - 部署脚本无法生成 PackageStates.php,而相同的 Shell-Command 可以工作。(TYPO3)
- python-3.x - 通过 Python 连接到 Sharepoint - UrlLib 错误
- r - 按序列将向量拆分为组
- css - 旋转对象并从顶部对其进行缩放
- microsoft-graph-api - Microsoft 图形中的法语口音
- django - Django Rest Framework 中的序列化和权限
- python - “缺少 1 个必需的位置参数”和“意外关键字”
- batch-file - 尝试在 CMD 中的目录中删除文件夹但具有排除列表