我有一个 Windows 应用程序,用户在其中输入开始时间和结束时间,如何检查结束时间是否是第二天的时间。
example: start time end time
1:00:00 AM 5:00:00 AM
5:00:00 AM 10:00:00 AM
10:00:00 AM 5:00:00 PM
5:00:00 PM 10:00:00 PM
10:00:00 PM 1:00:00 AM --(next day)
1:00:00 AM 5:00:00 AM
Run Code Online (Sandbox Code Playgroud)
我正在尝试如下所示:
private void GenerateReportWithStartTimeandEndTime(string StartTime, string EndTime, string DailyTime)
{
DateTime tempStartTime = DateTime.ParseExact(StartTime, "HH:mm:ss tt", CultureInfo.InvariantCulture);
DateTime tempEndTime = DateTime.ParseExact(EndTime, "HH:mm:ss tt", CultureInfo.InvariantCulture);
DateTime midNightToday = DateTime.Today.AddDays(1);
var StarthourDifference = (midNightToday - tempStartTime).TotalHours;
var EndhourDifference = (midNightToday - tempEndTime).TotalHours;
if (StarthourDifference - EndhourDifference > 0)
{
}
else
{
}
}
Run Code Online (Sandbox Code Playgroud)
怎么样
bool IsNextDay = EndTime < StartTime;
Run Code Online (Sandbox Code Playgroud)
代码:
//case 1
TimeSpan StartTime = DateTime.ParseExact("5:00:00 PM", "h:mm:ss tt", CultureInfo.InvariantCulture).TimeOfDay;
TimeSpan EndTime = DateTime.ParseExact("10:00:00 PM", "h:mm:ss tt", CultureInfo.InvariantCulture).TimeOfDay;
bool IsNextDay = EndTime < StartTime; //false
//case 2
TimeSpan StartTime2 = DateTime.ParseExact("10:00:00 PM", "h:mm:ss tt", CultureInfo.InvariantCulture).TimeOfDay;
TimeSpan EndTime2 = DateTime.ParseExact("1:00:00 AM", "h:mm:ss tt", CultureInfo.InvariantCulture).TimeOfDay;
bool IsNextDay2 = EndTime2 < StartTime2; //true
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
3142 次 |
| 最近记录: |