本文的目的是介绍日期时间Python-下一个工作日的详细情况,特别关注python指定日期的后一天的相关信息。我们将通过专业的研究、有关数据的分析等多种方式,为您呈现一个全面的了解日期时间Python
本文的目的是介绍日期时间Python-下一个工作日的详细情况,特别关注python指定日期的后一天的相关信息。我们将通过专业的研究、有关数据的分析等多种方式,为您呈现一个全面的了解日期时间Python-下一个工作日的机会,同时也不会遗漏关于php – 获得3个下一个工作日期,跳过周末和假期、python - 如何在不导入日期时间的情况下将字符串日期时间转换为日期时间?、Python-将UTC日期时间字符串转换为本地日期时间、python-将日期和时间与列表中的日期时间元素分开的知识。
本文目录一览:- 日期时间Python-下一个工作日(python指定日期的后一天)
- php – 获得3个下一个工作日期,跳过周末和假期
- python - 如何在不导入日期时间的情况下将字符串日期时间转换为日期时间?
- Python-将UTC日期时间字符串转换为本地日期时间
- 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个下一个工作日期,跳过周末和假期
例如,如果日期是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++; }
我遇到的问题是我不知道如何排除假期日期.
解决方法
$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 - 如何在不导入日期时间的情况下将字符串日期时间转换为日期时间?
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日期时间字符串转换为本地日期时间
我从来没有不得不将时间与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
库。它tzinfo
在zoneinfo
(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-将日期和时间与列表中的日期时间元素分开
我有一个列表,每个列表包含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-将日期和时间与列表中的日期时间元素分开的相关知识,请在本站进行查询。
本文标签: