简体   繁体   English

如何在python中将datetime对象移动12个小时

[英]how to shift a datetime object by 12 hours in python

Datetime objects hurt my head for some reason. 由于某种原因,日期时间对象伤害了我的头。 I am writing to figure out how to shift a date time object by 12 hours. 我正在写作如何将日期时间对象移动12小时。 I also need to know how to figure out if two date time object's differ by say 1 minute or more. 我还需要知道如何确定两个日期时间对象是否相差1分钟或更长时间。

The datetime library has a timedelta object specifically for this kind of thing: datetime库有一个timedelta对象专门用于这种事情:

import datetime

mydatetime = datetime.now() # or whatever value you want
twelvelater = mydatetime + datetime.timedelta(hours=12)
twelveearlier = mydatetime - datetime.timedelta(hours=12)

difference = abs(some_datetime_A - some_datetime_B)
# difference is now a timedelta object

# there are a couple of ways to do this comparision:
if difference > timedelta(minutes=1):
    print "Timestamps were more than a minute apart"

# or: 
if difference.total_seconds() > 60:
    print "Timestamps were more than a minute apart"

You'd use datetime.timedelta for something like this. 你可以使用datetime.timedelta的东西。

from datetime import timedelta

datetime arithmetic works kind of like normal arithmetic: you can add a timedelta object to a datetime object to shift its time: datetime算法类似于普通算术:你可以将timedelta对象添加到datetime对象以转移它的时间:

dt = # some datetime object
dt_plus_12 = dt + timedelta(hours=12)

Also you can subtract two datetime objects to get a timedelta representing the difference between them: 您还可以减去两个datetime对象以获得表示它们之间差异的timedelta

dt2 = # some other datetime object
ONE_MINUTE = timedelta(minutes=1)
if abs(dt2 - dt) > ONE_MINUTE:
    # do something

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM