- iOS/Objective-C 元类和类别
- objective-c - -1001 错误,当 NSURLSession 通过 httpproxy 和/etc/hosts
- java - 使用网络类获取 url 地址
- ios - 推送通知中不播放声音
我们需要一个包含 2 个日期的夜间公式。这应该是一个 bool 函数,它接收 2 个日期(它们的时差不超过 12 小时)并检查夜间时间,夜间时间设置为从 00:00 到 6:00 am,该函数在以下情况下产生结果:
1/1/18 20:00 - 2/1/18 7:00 true
2/1/18 1:00 - 2/1/18 7:00 true
2/1/18 1:00 - 2/1/18 5:15 true
1/1/18 20:00 - 1/1/18 23:00 false
1/1/18 20:00 - 2/1/18 3:30 true
我的工作(并非适用于所有情况)
private bool CheckNightHours(DateTime start, DateTime end)
{
var nightStart = new DateTime(start.Year, start.Month, start.Day ,0 ,0, 0);// 00:00;
var nightEnd = new DateTime(end.Year, end.Month, end.Day, 6, 0, 0); // 6:00;
bool result = false;
if (end < nightStart)
return false;
else {
if (start > nightStart && end > nightStart)
result = false;
else
if ((end >= nightEnd) || (end > nightStart && end < nightEnd))
result = true;
else
return result;
}
}
最佳答案
也许这会奏效
public static bool IsNight(DateTime from, DateTime to)
=> (to > from) && (from < from.Date.AddHours(6) || to < to.Date.AddHours(6) || to > from.Date.AddDays(1));
更新
或者根据 @ZoharPeled 的建议更好
public static bool IsNight(DateTime from, DateTime to)
=> (to > from) && ( rom.Hour < 6 || to.Hour < 6 || to > from.Date.AddDays(1));
前提是,
to
大于 from
(完整性检查)from
不到早上 6 点(所有其他 to
都是有效的夜晚)to
不到早上 6 点,(所有其他 from
m 都是有效的夜晚)to
隔天到from
,必须过夜我想你可以添加另一个 24 小时的健全性检查
注意:这只适用于夜间宣布从午夜开始
关于c# - 夜间检查功能 c#,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53029712/
我的应用程序使用 Theme.AppCompat.DayNight.NoActionBar AppTheme ,并有一个抽屉导航。我所有的可绘制对象都是 XML 向量,其中的路径是黑色的。对于在我的
我正在使用 Angularjs 开发一个应用程序。我对动画的一个问题感到震惊。 我想将此处以两种模式(夜间和白天模式)显示的方式添加到我的应用程序中。我看到每次更改模式时都可以使用主题提供程序来更改主
我的客户希望在他的应用程序的“设置” View 中有一个 UISwitch 控件,即:“夜间禁用通知”。如果此选项已打开并且现在是晚上,他希望推送他的 API 将发送到移动设备的消息被忽略。这可能吗?
我是一名优秀的程序员,十分优秀!