- iOS/Objective-C 元类和类别
- objective-c - -1001 错误,当 NSURLSession 通过 httpproxy 和/etc/hosts
- java - 使用网络类获取 url 地址
- ios - 推送通知中不播放声音
我正在使用 Python 编程并使用 SQLAlchemy 来存储营业时间。
营业时间由三部分组成:
位掩码是这样工作的。有 7 个数字,不是 0 就是 1,代表不同的工作日序列。每个位置代表一周中的一天。第一个位置代表星期一,最后一个位置代表星期天。例如,1111100 表示周一至周五,0000111 表示周五至周六。另外,我存储的是军用时间,0600 表示早上 6 点,1800 表示下午 6 点。
hours = Table('hours', Base.metadata,
Column("id", Integer, primary_key=True),
Column("businessid", Integer, ForeignKey('businesses.id')),
Column("days", Integer),
Column("open", Integer),
Column("close", Integer),
)
class Hours(object):
def __init__(self, days=None, open=None, close=None):
self.days = days
self.open = open
self.close = close
mapper(Hours, hours)
mapper(Business, businesses, properties={
'hours': relationship(Hours, backref='business'),
})
找出表示星期几的两个位掩码何时重叠的 Pythonic 方法是什么?此外,在给定两对 Hours 对象的情况下,确定企业当前是否营业的最佳方法是什么?
最佳答案
就检查星期几而言,如果用二进制表示“1011011”形式的字符串:
overlap = [n for n in range(7) if (bitmask1[n] == bitmask2[n] == '1')]
将为您提供重叠日期的数字列表(从 0-6)——[4] 表示周五重叠。
overlap = ''.join(('1' if (bitmask1[n] == bitmask2[n] == '1') else '0') for n in range(7))
将为您提供一个新的位掩码字符串 -- '00000100' 用于周五重叠。
如果您实际上将数字存储为整数,那么将它转换为一个可能是最简单的方法,可以使用 bin(bitmask)[2:]
或 "{0: b}".format(位掩码)
.
我不确定“当前打开...两对小时对象”是什么意思。你想要两对时间的重叠吗?如果他们是整小时,那很简单:
[hour for hour in range(firsthour, secondhour) if hour in range(openinghour, closinghour)
将为您提供两个范围内的小时列表。
关于 python ,SQLAlchemy : Storing business hours as binary bitmask,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6823627/
每小时整点的 cron 表达式是什么?我试过这个'0 0 *? * *' 但它抛出了一个错误我有一个 Azure 函数计时器触发器 下面的表达式每分钟运行一次。 public static void
这个问题已经有答案了: flot display the date in flot based on timestamp (4 个回答) 已关闭 7 年前。 我的图表上有以下几点: data = [
我正在尝试使用 the schedule module在不断更新的脚本中进行一些基本的调度。 有没有办法设置每“x”小时运行一次的计划,“准时”? 例如,我希望有一个运行时间为:[1:02pm, 2:
我有这样的日记表结构: CREATE TABLE Diary ( [IdDiary] bigint, [IdDay] numeric(18,0) ); INSERT INTO Di
我正在寻找一个字符串 (mysql),它可以正确地计算总时间的几个小时。分钟。我找不到任何合适的东西。 例子: id| time_spent| 1 | 10.15 | 2 | 10.15
是否可以在 ruby 中将“1.hour”字符串转换为 1.hour,将“2.hours”转换为 2.hours?实际上我是从表单的下拉列表中获取这个值的。我想通过这样的方式将它添加到 Time.
假设我有以下疑问: d1 = service.data().ga().get( ids='ga:xxxxxxx', start_date='2016-04-25',
我需要能够以 15 分钟的增量在不同的显示类型中显示我拥有的数据。我有两个问题给我带来了麻烦。一个以半小时为单位显示数据,另一个以小时为单位显示数据。唯一的问题是查询之间的数据总数会发生变化。它不计算
在 shell 中,当我打印这个时 date -d "2016-11-23 13:05 -1 hours " "+%Y-%m-%d %H:00:00" 我得到 2016-11-23 23:00:00
我正在使用this example来自 highcharts,但我需要按如下方式调整: 让 x 轴显示从当前小时开始的当前 24 小时(我能够绘制 24 小时,但不能从当前小时开始绘制) xAxis
我正在尝试将 UTC 日期转换为当前时区,但我注意到一个时间问题。 我在塔希提岛/法属波利尼西亚 (UTC-10),当前时间(使用格式:yyyy/MM/dd HH:mm:ss)是:2018/08/05
我正在使用 JSON 将数据获取到我的数据库。有没有办法在图表更新时将 xAxis 转到 6 小时前、5 小时前、4 小时前、3 小时前、2 小时前、1 小时前?因为我正在使用 LM35 将温度导入到
大家好,我对 psql 有点陌生,需要收集一些我不确定是否可行的数据。 所以我有 7 天的数据。列是 用户编号 导入日期 范围_1_99 范围_100_149 范围_150_199 范围_200_24
我有一个大的 txt 文件空间分隔,我将其分成 18 个较小的文件(每个文件都有自己的列数)。此拆分基于分隔符,即每当时间戳达到午夜时。如此有效,我将以以下形式得到 18 个文件(请注意,忽略破折号和
Heroku says (免费) Must sleep 6 hours in a 24 hour period 好的,没问题。 但是我可以影响向用户显示的消息或任何文本,例如:“您好,用户,不幸的是,
在 Javascript 中,我有 4 个带有值的变量。 以下是示例: var start_hour = 1; var start_minute = 00; var end_hour = 6; var
我想显示以小时、分钟和秒为单位的时间长度,其中有些时间长度大于 24 小时。目前我正在尝试这个: $timeLength = new DateTime(); $timeLength->setTime(
在中五的S周两小时练习题中,代码正确地给出了总课时,但尽管使用了浮动,它还是截断了每周的平均课时。我哪里错了?。当出现提示并输入A时,我输入了每周花费的周和小时数,但它只输出一个整数值,而不是浮点数。
例如,我想解析下面的字符串: Tue Sep 28 18:02:24 GMT+08:00 2010 我使用 SimpleDateFormat 的模式: new SimpleDateFormat("EE
我正在开发应用程序,该应用程序已成功完成并上线。现在,我在该应用程序中发现了一个错误,因为我正在根据用户的当前时间管理项目。就像时间是用元素可用或不可用来定义的,元素只会在那个可用的时间可见。时间随该
我是一名优秀的程序员,十分优秀!