using System;
public class Test
{
public static void Main()
{
// your code goes here
bool test1 = NowWithinShiftTime("08:00 AM", "05:00 PM");
bool test2 = NowWithinShiftTime("05:00 PM", "10:00 PM");
bool test3 = NowWithinShiftTime("09:00 PM", "05:00 AM");
bool test4 = NowWithinShiftTime("02:00 PM", "03:00 AM");
Console.WriteLine("test1: " + test1 + " test2: " + test2 + " test3: " + test3 + " test4: " + test4);
}
static bool NowWithinShiftTime(string shiftStart, string shiftEnd)
{
DateTime startDate;
DateTime endDate;
DateTime now = DateTime.Now;
TimeSpan startTime = DateTime.Parse(shiftStart).TimeOfDay;
TimeSpan endTime = DateTime.Parse(shiftEnd).TimeOfDay;
if (startTime < endTime) // same day
{
startDate = DateTime.Today + startTime;
endDate = DateTime.Today + endTime;
}
else // next day
{
startDate = DateTime.Today + startTime;
endDate = DateTime.Today.AddDays(1) + endTime;
}
if (now >= startDate && now <= endDate)
{
return true;
}
else
{
return false;
}
}
}
dXNpbmcgU3lzdGVtOwoKcHVibGljIGNsYXNzIFRlc3QKewoJcHVibGljIHN0YXRpYyB2b2lkIE1haW4oKQoJewoJCS8vIHlvdXIgY29kZSBnb2VzIGhlcmUKCQlib29sIHRlc3QxID0gTm93V2l0aGluU2hpZnRUaW1lKCIwODowMCBBTSIsICIwNTowMCBQTSIpOwoJCWJvb2wgdGVzdDIgPSBOb3dXaXRoaW5TaGlmdFRpbWUoIjA1OjAwIFBNIiwgIjEwOjAwIFBNIik7CgkJYm9vbCB0ZXN0MyA9IE5vd1dpdGhpblNoaWZ0VGltZSgiMDk6MDAgUE0iLCAiMDU6MDAgQU0iKTsKCQlib29sIHRlc3Q0ID0gTm93V2l0aGluU2hpZnRUaW1lKCIwMjowMCBQTSIsICIwMzowMCBBTSIpOwoJCUNvbnNvbGUuV3JpdGVMaW5lKCJ0ZXN0MTogIiArIHRlc3QxICsgIiB0ZXN0MjogIiArIHRlc3QyICsgIiB0ZXN0MzogIiArIHRlc3QzICsgIiB0ZXN0NDogIiArIHRlc3Q0KTsKCX0KCQoJc3RhdGljIGJvb2wgTm93V2l0aGluU2hpZnRUaW1lKHN0cmluZyBzaGlmdFN0YXJ0LCBzdHJpbmcgc2hpZnRFbmQpCiAgICB7CiAgICBEYXRlVGltZSBzdGFydERhdGU7CiAgICBEYXRlVGltZSBlbmREYXRlOwogICAgRGF0ZVRpbWUgbm93ID0gRGF0ZVRpbWUuTm93OyAKCiAgICBUaW1lU3BhbiBzdGFydFRpbWUgPSBEYXRlVGltZS5QYXJzZShzaGlmdFN0YXJ0KS5UaW1lT2ZEYXk7CiAgICBUaW1lU3BhbiBlbmRUaW1lID0gRGF0ZVRpbWUuUGFyc2Uoc2hpZnRFbmQpLlRpbWVPZkRheTsKCiAgICBpZiAoc3RhcnRUaW1lIDwgZW5kVGltZSkgLy8gc2FtZSBkYXkKICAgIHsKICAgICAgICBzdGFydERhdGUgPSBEYXRlVGltZS5Ub2RheSArIHN0YXJ0VGltZTsKICAgICAgICBlbmREYXRlID0gRGF0ZVRpbWUuVG9kYXkgKyBlbmRUaW1lOwogICAgfQogICAgZWxzZSAvLyBuZXh0IGRheQogICAgewogICAgICAgIHN0YXJ0RGF0ZSA9IERhdGVUaW1lLlRvZGF5ICArIHN0YXJ0VGltZTsKICAgICAgICBlbmREYXRlID0gRGF0ZVRpbWUuVG9kYXkuQWRkRGF5cygxKSArIGVuZFRpbWU7CiAgICB9CiAgICBpZiAobm93ID49IHN0YXJ0RGF0ZSAmJiBub3cgPD0gZW5kRGF0ZSkKICAgIHsKICAgICAgICByZXR1cm4gdHJ1ZTsKICAgIH0KICAgIGVsc2UKICAgIHsKICAgICAgICByZXR1cm4gZmFsc2U7CiAgICB9Cn0KfQ==