如何将Unix / POSIX时间戳舍入到最近的30分钟?

时间:2017-06-29 00:09:11

标签: python datetime timestamp epoch

我想采用从SQL查询返回的一个纪元,然后向上(或向下)30分钟。我想在第二行代码上执行此操作。知道怎么做吗?

s = row.get("values")[0][1]
s = <<<round to closest 30 mins>>>
t = datetime.fromtimestamp(float(s)/1000.)
dateFmt = "%Y-%m-%d"
timeFmt = "%H:%M"
date = t.strftime(dateFmt)
time = t.strftime(timeFmt)

1 个答案:

答案 0 :(得分:0)

首先将数据转换为预期的表示形式。这可能涉及时区变化。假设private void read() { foreach(Person p in list) { ListViewItem item = new ListViewItem(); item.Text = p.Name; item.SubItems.Add(p.Position); item.SubItems.Add(p.Team); lstvPerson.Items.Add(item); } } 是您想要的表示,您可以替换所需的元素:

t

我不会使用关于操纵时间戳本身的评论中的解决方案,除非您确定它始终位于本地时区。您可以通过奇数分钟(有# python 3 t.replace(minute=t.minute // 30 * 30, second=0, microsecond=0) # python 2 t.replace(minute=t.minute / 30 * 30, second=0, microsecond=0) +xx30时区)来处理轮班问题