如何从重叠的时间框架中得到分钟
本文关键字:分钟 框架 时间 重叠 | 更新日期: 2023-09-27 18:11:07
我有一个奇怪的问题。我可以轻松地手工解决这个问题,但不太清楚如何编写代码。我的问题涉及时区。我有一个应用程序,可以在一天的固定时间内工作。它处理的数据是特定于时区的数据。我想以分钟为单位计算处理窗口的总体"宽度"。
说他们的窗格是从上午9点到中午。窗格有180分钟宽。我有-4,-5,-6,-7和-10时区的数据。由于窗格比偏移量更宽,因此我计算处理窗口的"宽度"为9 x 60或360分钟。
我正在用c#写这个。我编写了一些代码来处理这个问题,但是我不确定如何表示输入。有什么建议吗?
我猜这就是你需要的:http://www.codeproject.com/KB/datetime/TimePeriod.aspx
我认为你要做的是取最早时间的开始,最晚时间的结束,用DateTimeOffset
得到差值。像这样:
//1/1/2011 9:00 AM -4
var earliest = new DateTimeOffset(2011, 1, 1, 9, 0, 0, new TimeSpan(-4, 0, 0));
//1/1/2011 12:00 PM -10
var latest = new DateTimeOffset(2011, 1, 1, 12, 0, 0, new TimeSpan(-10, 0, 0));
Console.Out.WriteLine("minutes = {0}", (latest - earliest).TotalMinutes);
结果为540。两者之间的时间为180分钟,再加上额外的360分钟的时区差异。360是-4和-10时区之差,如果时间完全相同。如果这不是你想要的,请更新你的问题,添加更多的细节/场景。