当前位置: 首页 > 面试题库 >

昨天午夜是一个划时代的时间?

海新霁
2023-03-14
问题内容

我试图让我对datetime模块有所了解。我知道现在是一个纪元,一个事件的最后发生时间(一个纪元)。我需要做的是弄清楚该事件是否在昨天的午夜和午夜之间发生。

t = time.time() # is now
t2 = 1234567890 # some arbitrary time from my log

24小时前的电话是-86400,但我如何将其四舍五入到午夜。我真的很难找到一种方法来获取和获取日期时间的时间戳,或者然后操纵日期时间来设置时间。


问题答案:

在半夜

生成最后一个午夜很容易:

from datetime import datetime, time

midnight = datetime.combine(datetime.today(), time.min)

结合了今天的日期(您可以使用,也可以选择date()一个datetime()实例),并在
午夜time.min形成一个datetime对象。
__

昨天

使用atimedelta()可以计算 前一个 午夜:

from datetime import timedelta

yesterday_midnight = midnight - timedelta(days=1)

那是昨天

现在测试您的时间戳是否介于这两点之间:

timestamp = datetime.fromtimestamp(some_timestamp_from_your_log)
if yesterday_midnight <= timestamp < midnight:
    # this happened between 00:00:00 and 23:59:59 yesterday

现在都在一起了

合并为一个功能:

from datetime import datetime, time, timedelta

def is_yesterday(timestamp):
    midnight = datetime.combine(datetime.today(), time.min)
    yesterday_midnight = midnight - timedelta(days=1)
    return yesterday_midnight <= timestamp < midnight:

if is_yesterday(datetime.fromtimestamp(some_timestamp_from_your_log)):
    # ...


 类似资料:
  • 问题内容: 我需要创建两个日期对象。如果当前日期和时间是2012年3月9日上午11:30,则 日期对象d1应该是 2012年3月9日上午12:00 日期对象d2应该包含当前日期本身 日期不会输入,它是系统日期。 更新 : 给出当前日期和时间 问题答案: 应该是IST 2012年3月9日00:00:00

  • 问题内容: 我正在努力计算午夜后的时间: 问题答案: 如果您不关心夏令时的变化,并且假设世界是理想的(不是理想的),则可以从24小时中减去结束与开始之间的持续时间(以开始与结束为间隔):

  • 问题内容: 我正在使用Node,并且需要使此功能每天在午夜运行,这可能吗? 问题答案: 我相信节点计划包将满足您的需求。通常,您希望所谓的cron安排和运行服务器任务。 使用 节点计划 :

  • 本文向大家介绍Shell中取今天、昨天、前天的时间操作代码,包括了Shell中取今天、昨天、前天的时间操作代码的使用技巧和注意事项,需要的朋友参考一下 1. 取今天时间 2. 取昨天时间 3. 取前天时间 效果展示:

  • 我使用以下内容以更可读的格式获取当前日期/时间: 这很好地工作,并输出如下内容:<代码>[02-06-2020]-[22-59] 但是,午夜之后,时间格式从HH:MM:SS:MS更改为H:MM:SS:MS。这会弄乱格式,因为它在时间中包含冒号,因为字符被移了一位。这会导致在午夜之后创建的日志文件中出现无用的日期/时间信息。 有没有什么方法可以让时间总是以两位数的格式表示?