【问题标题】:How can I get the duration in terms of minutes by subtracting a previous time stamp stored in a DB from the present time in C#?如何通过从 C# 中的当前时间中减去存储在数据库中的先前时间戳来获得以分钟为单位的持续时间?
【发布时间】:2012-03-04 04:19:01
【问题描述】:

如何通过从 C# 中的当前时间减去存储在数据库中的先前时间戳来获得以分钟为单位的持续时间?

之前的时间戳格式是 13:00。

我想计算已经过去了多少分钟。怎么做?

加上上一个日期时间标记存储在数据库中的事实,例如 13:00 (hh:mm)。所以我不明白如何从当前的 DateTime.Now.ToShortString() 中减去 13:00。

【问题讨论】:

  • 听起来你已经很好地处理了元问题...从数据库中获取时间,现在就获取。从现在减去 db。你的问题到底是什么?没有更多细节,很难提供帮助。您是否在从数据库中获取时间时遇到问题?日期解析?如何减去日期时间?如何处理时间跨度?如何格式化输出?
  • @32bitkid 抱歉,我是 C# 新手。基本上如何减去日期时间,处理时间跨度,然后将输出格式化为分钟?
  • 你的时间戳有日期还是只有时间?
  • @Fox32 数据库中只有 13:00 的时间

标签: c# asp.net datetime


【解决方案1】:

你可以减去两个DateTime对象,得到一个TimeSpan对象。然后使用TimeSpan.TotalMinutes

DateTime dateTimeFromDatabase = DateTime.Parse("13:00");

double minutes = (DateTime.Now - dateTimeFromDatabase).TotalMinutes;

【讨论】:

  • 感谢您只需将其转换为 int 以将其显示为 53 而不是 53.711,否则效果很好,谢谢。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2023-03-15
  • 1970-01-01
  • 2021-07-12
  • 1970-01-01
  • 2020-12-10
相关资源
最近更新 更多