c# - 计算listBox中的日期与当前计算机时钟的时间差
问题描述
我想计算 listBox 中所选行的日期与当前计算机时钟之间的时间差。所选行包含 5 种不同的信息。当我在列表框中选择特定行时,我可以选择使用单选按钮计算年月或日的时间差,并通过按计算按钮在文本框中显示结果。我怎样才能做到这一点?是否可以在列表框中的数据中定义日期?
解决方案
从 listBox 获取选定的项目,并从它的文本获取日期。然后使用 DateTime.Parse 方法将其转换为 DateTime。然后你只需从 DateTime.Now 中减去,计算 Date 得到 TimeSpan,在其中你可以得到 Days,也就是差值。您可以通过除以 365 来计算年数,通过除以 30 来计算月数。或者如果您想更精确:
((date1.Year - date2.Year) * 12) + date1.Month - date2.Month
其中 date1 是实际日期,date2 是从 listBoxItem 计算出来的。那是从给定日期过去的月数。
推荐阅读
- javascript - 使用 javascript 弹出 iframe src 域名
- ios - 我可以在不拥有实际设备的情况下存档 Apple TV 应用程序吗?
- javascript - 以准确的放置位置拖放
- paypal-rest-sdk - PayPal JS SDK 在自定义试用期内通过?
- firebase - Flutter Web 应用程序:无法写入 Firebase
- django - 在 Django 更新后,Django 插入中的重复键违规
- c# - EF6 代码首先是多对多,具有与其中一个实体上的集合相同类型的附加属性
- javascript - 如何删除对象上的所有键,这些键不存在于 JavaScript 的数组中?
- php - fopen 返回 false 但目录存在
- nunit - Specflow - 发现不明确的步骤时引发构建错误