Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/294.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 如何计算从现在开始的总秒数,加上n天?_Python_Datetime_Timedelta - Fatal编程技术网

Python 如何计算从现在开始的总秒数,加上n天?

Python 如何计算从现在开始的总秒数,加上n天?,python,datetime,timedelta,Python,Datetime,Timedelta,我想在每周二下午12:00发送通知 import datetime from datetime import date , timedelta today = datetime.date.today() Tuesday = datetime.timedelta( (1-today.weekday()) % 7 ) + timedelta(hours=12) seconds_to_call = Tuesday.total_seconds() print(seconds_to_call) #

我想在每周二下午12:00发送通知

import datetime
from datetime import date , timedelta

today = datetime.date.today()
Tuesday = datetime.timedelta( (1-today.weekday()) % 7 ) + timedelta(hours=12)
seconds_to_call = Tuesday.total_seconds() 

print(seconds_to_call)

# Gives exactly 5 days in seconds 432,000 + timedelta(hours=12) 43200
我想得到一个精确的时间,以秒为单位,直到周二下午12:00

import datetime
from datetime import date , timedelta

today = datetime.date.today()
Tuesday = datetime.timedelta( (1-today.weekday()) % 7 ) + timedelta(hours=12)
seconds_to_call = Tuesday.total_seconds() 

print(seconds_to_call)

# Gives exactly 5 days in seconds 432,000 + timedelta(hours=12) 43200
#以秒为单位精确给出5天432000+timedelta(小时=12)43200

我怎样才能得到星期二00:00加上12小时的时间差(小时=12)43200

那么我就有周二下午12点了

谢谢

第一个问题 我想得到一个精确的时间,以秒为单位,直到周二下午12:00

import datetime
from datetime import date , timedelta

today = datetime.date.today()
Tuesday = datetime.timedelta( (1-today.weekday()) % 7 ) + timedelta(hours=12)
seconds_to_call = Tuesday.total_seconds() 

print(seconds_to_call)

# Gives exactly 5 days in seconds 432,000 + timedelta(hours=12) 43200
我想你想要从今天起到星期二12:00的准确时间(以秒为单位)

import datetime

def relative_date(reference, weekday, timevalue):
    hour, minute = divmod(timevalue, 1)
    minute *= 60
    days = reference.weekday()+(reference.weekday() - weekday)
    return (reference + datetime.timedelta(days=days)).replace(hour=int(hour), minute=int(minute), second=0, microsecond=0)

today = datetime.datetime.now()
Tuesday = relative_date(today, 1, 12)

seconds_to_call = (Tuesday - today).total_seconds()

print(seconds_to_call)

# OUTPUT: 405778.097769
你必须计算两个日期之间的差异,今天和下周二。函数
relative\u date
计算下一个星期二的确切日期,并将小时设置为
12:00:00.000

第二个问题 我想运行这个程序,得到00:00之前的秒数,然后得到12之前的秒数(43200)

您可以这样做:

import datetime

def relative_date(reference, weekday, timevalue):
    hour, minute = divmod(timevalue, 1)
    minute *= 60
    days = reference.weekday()+(reference.weekday() - weekday)
    return (reference + datetime.timedelta(days=days)).replace(hour=int(hour), minute=int(minute), second=0, microsecond=0)

today = datetime.datetime.now()
Tuesday_midnight = relative_date(today, 1, 0)

seconds_to_call = ((Tuesday_midnight - today) + datetime.timedelta(hours=12)).total_seconds()

print(seconds_to_call)

# OUTPUT: 405778.097769
在这种情况下,计算午夜之前的时间是没有用的,您可以直接从中午开始计算总秒数,如第一个问题的代码所示。

first question 我想得到一个精确的时间,以秒为单位,直到周二下午12:00

import datetime
from datetime import date , timedelta

today = datetime.date.today()
Tuesday = datetime.timedelta( (1-today.weekday()) % 7 ) + timedelta(hours=12)
seconds_to_call = Tuesday.total_seconds() 

print(seconds_to_call)

# Gives exactly 5 days in seconds 432,000 + timedelta(hours=12) 43200
我想你想要从今天起到星期二12:00的准确时间(以秒为单位)

import datetime

def relative_date(reference, weekday, timevalue):
    hour, minute = divmod(timevalue, 1)
    minute *= 60
    days = reference.weekday()+(reference.weekday() - weekday)
    return (reference + datetime.timedelta(days=days)).replace(hour=int(hour), minute=int(minute), second=0, microsecond=0)

today = datetime.datetime.now()
Tuesday = relative_date(today, 1, 12)

seconds_to_call = (Tuesday - today).total_seconds()

print(seconds_to_call)

# OUTPUT: 405778.097769
你必须计算两个日期之间的差异,今天和下周二。函数
relative\u date
计算下一个星期二的确切日期,并将小时设置为
12:00:00.000

第二个问题 我想运行这个程序,得到00:00之前的秒数,然后得到12之前的秒数(43200)

您可以这样做:

import datetime

def relative_date(reference, weekday, timevalue):
    hour, minute = divmod(timevalue, 1)
    minute *= 60
    days = reference.weekday()+(reference.weekday() - weekday)
    return (reference + datetime.timedelta(days=days)).replace(hour=int(hour), minute=int(minute), second=0, microsecond=0)

today = datetime.datetime.now()
Tuesday_midnight = relative_date(today, 1, 0)

seconds_to_call = ((Tuesday_midnight - today) + datetime.timedelta(hours=12)).total_seconds()

print(seconds_to_call)

# OUTPUT: 405778.097769
在这种情况下,计算午夜之前的时间是没有用的,您可以直接从中午开始获得总秒数,如第一个问题的代码所示。

from datetime import datetime,timedelta
#现在获取日期和时间
now=datetime.now()
#在午夜获取当前日期
今天=现在。替换(小时=0,分钟=0,秒=0,微秒=0)
#星期二午夜到
星期二=今天+时间差((1-today.weekday())%7)
#从现在到星期二午夜的秒数
秒到周二午夜=(周二-现在)。总秒()
#从现在到星期二中午的时间
秒到周二中午=秒到周二午夜+时间增量(小时=12)/时间增量(秒=1)
作为一项功能
从键入导入元组
def time_to_tube(现在:datetime)->Tuple[float,float]:
今天=现在。替换(小时=0,分钟=0,秒=0,微秒=0)
星期二=今天+时间差((1-today.weekday())%7)
午夜=(周二-现在)。总秒数()
中午=午夜+时间差(小时=12)/时间差(秒=1)
午夜返回,中午
时间到星期二(datetime.now())
从datetime导入datetime,timedelta
#现在获取日期和时间
now=datetime.now()
#在午夜获取当前日期
今天=现在。替换(小时=0,分钟=0,秒=0,微秒=0)
#星期二午夜到
星期二=今天+时间差((1-today.weekday())%7)
#从现在到星期二午夜的秒数
秒到周二午夜=(周二-现在)。总秒()
#从现在到星期二中午的时间
秒到周二中午=秒到周二午夜+时间增量(小时=12)/时间增量(秒=1)
作为一项功能
从键入导入元组
def time_to_tube(现在:datetime)->Tuple[float,float]:
今天=现在。替换(小时=0,分钟=0,秒=0,微秒=0)
星期二=今天+时间差((1-today.weekday())%7)
午夜=(周二-现在)。总秒数()
中午=午夜+时间差(小时=12)/时间差(秒=1)
午夜返回,中午
时间到星期二(datetime.now())

感谢您在几秒钟内获得了输出,我希望有一种更小的输出方法,您的函数工作得非常好。感谢您在几秒钟内获得了输出,我希望有一种更小的输出方法,您的函数工作得非常好。