GVKun编程网logo

日期时间Python-下一个工作日(python指定日期的后一天)

15

本文的目的是介绍日期时间Python-下一个工作日的详细情况,特别关注python指定日期的后一天的相关信息。我们将通过专业的研究、有关数据的分析等多种方式,为您呈现一个全面的了解日期时间Python

本文的目的是介绍日期时间Python-下一个工作日的详细情况,特别关注python指定日期的后一天的相关信息。我们将通过专业的研究、有关数据的分析等多种方式,为您呈现一个全面的了解日期时间Python-下一个工作日的机会,同时也不会遗漏关于php – 获得3个下一个工作日期,跳过周末和假期、python - 如何在不导入日期时间的情况下将字符串日期时间转换为日期时间?、Python-将UTC日期时间字符串转换为本地日期时间、python-将日期和时间与列表中的日期时间元素分开的知识。

本文目录一览:

日期时间Python-下一个工作日(python指定日期的后一天)

日期时间Python-下一个工作日(python指定日期的后一天)

两个相关的问题:(1)我使用的所有数据都附有工作日日期。在不同的时候,我需要知道下一个工作日是什么。我已经写了类似下面的代码来确定这一点,但是我敢肯定有更好的方法。任何人?(2)理想情况下,我不仅需要知道下一个工作日,还需要知道下一个
美国 工作日,也就是说,不是美国市场假期的下一个工作日。在这方面的任何帮助也将是巨大的。

import datetime as dt

day = dt.datetime.strptime('2012-02-03','%Y-%m-%d').date()
print day#day=2012-03-02 (Friday)

if day.weekday()==4:
    day = day+dt.timedelta(days=3)
else:
    day = day+dt.timedelta(days=1)

print day#day=2012-02-06 (Monday)
day = day+dt.timedelta(days=1)
print day#day=2012-02-07 (Tuesday)

php – 获得3个下一个工作日期,跳过周末和假期

php – 获得3个下一个工作日期,跳过周末和假期

我试图使用 PHP获得接下来的3天,但如果日期是周末或定义的假期,我想跳过该日期.

例如,如果日期是2013年12月23日星期一
我的假日日期是阵列(‘2013-12-24′,’2013-12-25’);
该脚本将返回

Monday,December 23,2013
Thursday,December 26,2013
Friday,December 27,2013
Monday,December 30,2013

她是我现在的代码:

$arr_date = explode('-','2013-12-23');
$counter = 0;
for ($iLoop = 0; $iLoop < 4; $iLoop++)
{
    $dayOfTheWeek = date("N",mktime(0,$arr_date[1],$arr_date[2]+$counter,$arr_date[0]));
    if ($dayOfTheWeek == 6) { $counter += 2; }
    $date = date("Y-m-d",$arr_date[0]));
    echo $date;
    $counter++;
}

我遇到的问题是我不知道如何排除假期日期.

解决方法

使用DateTime在接下来的几天内进行递归并进行字符串比较检查以查看下一个生成的日期是否属于使用in_array的假日或周末数组

$holidays = array('12-24','12-25');
$weekend = array('Sun','Sat');
$date = new DateTime('2013-12-23');
$nextDay = clone $date;
$i = 0; // We have 0 future dates to start with
$nextDates = array(); // Empty array to hold the next 3 dates
while ($i < 3)
{
    $nextDay->add('P1D'); // Add 1 day
    if (in_array($nextDay->format('m-d'),$holidays)) continue; // Don't include year to ensure the check is year independent
    // Note that you may need to do more complicated things for special holidays that don't use specific dates like "the last Friday of this month"
    if (in_array($nextDay->format('D'),$weekend)) continue;
    // These next lines will only execute if continue isn't called for this iteration
    $nextDates[] = $nextDay->format('Y-m-d');
    $i++;
}

使用isset()建议O(1)而不是O(n):

$holidays = array('12-24' => '','12-25' => '');
$weekend = array('Sun' => '','Sat' => '');
$date = new DateTime('2013-12-23');
$nextDay = clone $date;
$i = 0;
$nextDates = array();
while ($i < 3)
{
    $nextDay->add('P1D');
    if (isset($holidays[$nextDay->format('m-d')])) continue;
    if (isset($weekend[$nextDay->format('D')])) continue;
    $nextDates[] = $nextDay->format('Y-m-d');
    $i++;
}

python - 如何在不导入日期时间的情况下将字符串日期时间转换为日期时间?

python - 如何在不导入日期时间的情况下将字符串日期时间转换为日期时间?

import time
 my_time = time.strptime('Jun 1 2005  1:33PM','%b %d %Y %I:%M%p')
time.struct_time(tm_year=2005,tm_mon=6,tm_mday=1,tm_hour=13,tm_min=33,tm_sec=0,tm_wday=2,tm_yday=152,tm_isdst=-1)

timestamp = time.mktime(my_time)
# convert time object to datetime
from datetime import datetime
my_datetime = datetime.fromtimestamp(timestamp)
# convert time object to date
from datetime import date
my_date = date.fromtimestamp(timestamp)

不导入日期时间就无法转换为日期时间

Python-将UTC日期时间字符串转换为本地日期时间

Python-将UTC日期时间字符串转换为本地日期时间

我从来没有不得不将时间与UTC转换。最近有人要求我的应用注意时区,并且我一直在圈子里奔波。我发现很多有关将本地时间转换为UTC的信息,这很基本(也许我也做错了),但是我找不到任何有关将UTC时间轻松转换为最终用户时区的信息。

简而言之,android应用程序向我发送了(appengine应用程序)数据,该数据中包含时间戳。要将时间戳存储为UTC时间,我正在使用:

datetime.utcfromtimestamp(timestamp)

那似乎行得通。当我的应用存储数据时,存储时间要提前5个小时(我是EST -5)

数据存储在Appengine的BigTable上,并且在检索时会以字符串形式显示,如下所示:

"2020-01-21 02:37:21"

如何在用户正确的时区将此字符串转换为DateTime?

另外,建议为用户存储的时区信息是什么?(你通常如何存储tz信息,即:“-5:00”或“ EST”等?)我确定第一个问题的答案可能包含一个参数,第二个问题的答案。

答案1

小编典典

如果你不想提供自己的tzinfo对象,请签出python-dateutil库。它tzinfozoneinfo(Olson)数据库的顶部提供了实现,因此你可以使用一些规范的名称来引用时区规则。

from datetime import datetimefrom dateutil import tz# METHOD 1: Hardcode zones:from_zone = tz.gettz(''UTC'')to_zone = tz.gettz(''America/New_York'')# METHOD 2: Auto-detect zones:from_zone = tz.tzutc()to_zone = tz.tzlocal()# utc = datetime.utcnow()utc = datetime.strptime(''2020-01-21 02:37:21'', ''%Y-%m-%d %H:%M:%S'')# Tell the datetime object that it''s in UTC time zone since # datetime objects are ''naive'' by defaultutc = utc.replace(tzinfo=from_zone)# Convert time zonecentral = utc.astimezone(to_zone)

编辑扩展示例以显示strptime用法

python-将日期和时间与列表中的日期时间元素分开

python-将日期和时间与列表中的日期时间元素分开

我有一个列表,每个列表包含3个元素,其中一个是datetime.我需要修改列表,以将日期和时间分成各自的元素,然后将它们放回列表中.

输入样例:

[[2,13,'2019-02-02T07:00:00'],[7,8,'2019-02-02T09:00:00']]

所需的输出:

[[2,'2019-02-02','07:00'],'09:00']] 

我可以使用下面的代码隔离时间或日期,但无法弄清楚如何获取两者:

from datetime import datetime

data_set_x = [[2,'2019-02-02T09:00:00']]

def convert_date(s):
    date_object = datetime.strptime(s,'%Y-%m-%dT%H:%M:%s')
    return date_object.strftime('%Y-%m-%d')

for idx,item in enumerate(data_set_x):
    data_set_x[idx][-1] = convert_date(item[2])

for i in data_set_x:
    sql = "insert into data (ValueA,ValueB,Date) values (%s,%s,%s)"

    print(sql,i)
最佳答案
from datetime import datetime

data_set_x = [[2,'%Y-%m-%dT%H:%M:%s')
    return date_object.strftime('%Y-%m-%d'),date_object.strftime('%H:%M')

for idx,item in enumerate(data_set_x):
    data_set_x[idx][-1],time = convert_date(item[2])
    data_set_x[idx].append(time)

for i in data_set_x:
    sql = "insert into data (ValueA,Date,Time) values (%s,i)

今天的关于日期时间Python-下一个工作日python指定日期的后一天的分享已经结束,谢谢您的关注,如果想了解更多关于php – 获得3个下一个工作日期,跳过周末和假期、python - 如何在不导入日期时间的情况下将字符串日期时间转换为日期时间?、Python-将UTC日期时间字符串转换为本地日期时间、python-将日期和时间与列表中的日期时间元素分开的相关知识,请在本站进行查询。

本文标签: