flutter - 检查时间间隔抖动
问题描述
如果用户的时间在上午 10 点到下午 4 点之间,我打算运行一个查询。DateTime.now()
我知道我可以在颤抖中获得当前的日期时间。我如何知道用户的时间间隔是否在晚上 10 点到下午 4 点之间。
解决方案
您可以使用DateTime.isAfter
、 DateTime.isBefore
或DateTime.compareTo
来比较DateTime
对象。
但是,我个人会使用使代码比 using 更具可读性的DateTime
扩展,并且与/不同,它可以更轻松地为您的时间间隔提供包容性端点:package:basics
.compareTo
.isBefore
.isAfter
import 'package:basics/date_time_basics.dart';
void main() {
var now = DateTime.now();
var startTime = DateTime(now.year, now.month, now.day, 22); // 10 PM today
var endTime = DateTime(now.year, now.month, now.day, 16); // 4 PM today
// Note that since your desired time spans midnight, startTime > endTime
// and we use || where we'd normally use &&.
if (now >= startTime || now <= endTime) {
print('Between 10 PM and 4 PM');
} else {
print('Outside of 10 PM and 4 PM');
}
}
(披露:我致力于DateTime
扩展package:basics
。)
推荐阅读
- logging - 用于心电图的 Movesense 数据记录器
- docker - 在 docker 容器中具有 ssh 命令的 shell 脚本失败并显示 - ssh: not found
- firebase - Firebase BigQuery 导出广告系列效果
- r - R 是否使用应用降阶?
- python - 由于来自不同行的文本值在其他熊猫列中具有相同值的组合,因此创建新的熊猫行
- python - Python 脚本无法识别 Mysql 查询
- android - 无法在我在 android studio 中的改造回调中得到响应
- azure - 从 Azure DevOps 发布管道成功部署后,应用服务不加载 Web 应用
- svg - SVG - 具有百分比单位的中风破折号无法按预期工作
- typescript - Typescript 映射类型,接口使用“key in keyof”