如果您对如何使用Python获取上周五的日期?和python获取上周周一日期感兴趣,那么这篇文章一定是您不可错过的。我们将详细讲解如何使用Python获取上周五的日期?的各种细节,并对python获取
如果您对如何使用 Python 获取上周五的日期?和python获取上周周一日期感兴趣,那么这篇文章一定是您不可错过的。我们将详细讲解如何使用 Python 获取上周五的日期?的各种细节,并对python获取上周周一日期进行深入的分析,此外还有关于perl – 如何使用本地时间获取昨天的日期?、Perl – 如何在不使用DateTime的情况下从给定日期获取上周三的日期、Python / Regex-如何使用正则表达式从文件名中提取日期?、python 获取日期列表中缺失的日期的实用技巧。
本文目录一览:- 如何使用 Python 获取上周五的日期?(python获取上周周一日期)
- perl – 如何使用本地时间获取昨天的日期?
- Perl – 如何在不使用DateTime的情况下从给定日期获取上周三的日期
- Python / Regex-如何使用正则表达式从文件名中提取日期?
- python 获取日期列表中缺失的日期
如何使用 Python 获取上周五的日期?(python获取上周周一日期)
如何解决如何使用 Python 获取上周五的日期??
有没有办法使用 Python 获取上周五的日期并将其存储在变量中,而不管程序在一周中的哪一天运行?
也就是说,如果我在 2021 年 6 月 19 日星期一或 2021 年 6 月 22 日星期四运行程序,它总是返回上一个星期五作为日期变量:2021-07-16。
解决方法
为了将星期几作为整数,我们使用 datetime.datetime.today().weekday()
并从我们使用 datetime.today() - timedelta(days=days_to_subtract)
的日期时间中减去天数,现在我们可以制作一个字典,将星期几与天数减去并使用该字典进行减法:
from datetime import datetime,timedelta
d = {0:3,1:4,2:5,3:6,4:0,5:1,6:2}
lastfriday = datetime.today()-timedelta(days=d[datetime.today().weekday()])
,
您的问题类似于this one 这是一个起点:
import datetime
def get_last_friday():
current_time = datetime.datetime.now()
last_friday = (current_time.date()
- datetime.timedelta(days=current_time.weekday())
+ datetime.timedelta(days=4,weeks=-1))
return last_friday
perl – 如何使用本地时间获取昨天的日期?
use strict; sub spGetCurrentDateTime; print spGetCurrentDateTime; sub spGetCurrentDateTime { my ($sec,$min,$hour,$mday,$mon,$year) = localtime(); my @abbr = qw( Jan Feb Mar Apr May Jun Jul Aug Sep Oct Nov Dec ); my $currentDateTime = sprintf "%s %02d %4d",$abbr[$mon],$year+1900; #Returns => 'Aug 17 2010' return $currentDateTime; }
〜
解决方法
#!/usr/bin/perl use strict; use warnings; use Time::Local; sub spGetYesterdaysDate; print spGetYesterdaysDate; sub spGetYesterdaysDate { my ($sec,$year) = localtime(); my $yesterday_midday=timelocal(0,12,$year) - 24*60*60; ($sec,$year) = localtime($yesterday_midday); my @abbr = qw( Jan Feb Mar Apr May Jun Jul Aug Sep Oct Nov Dec ); my $YesterdaysDate = sprintf "%s %02d %4d",$year+1900; return $YesterdaysDate; }
鉴于Chas建议的strftime解决方案的“未指定”记录的行为,如果您无法在多个平台上测试预期但不保证的结果,则此方法可能会更好.
Perl – 如何在不使用DateTime的情况下从给定日期获取上周三的日期
我想知道从给定日期开始的上周三的日期.
例如.我的日期为“20150804”,我需要“20150729”.
DateTime不可用,我也无法安装它.
我看了几个例子,但他们正在使用DateTime.
你可以转发我的地方,我可以得到一些帮助吗?谢谢.
我打算编写类似下面的代码.
码:
#!/opt/perl-5.8.0/bin/perl use warnings; use strict; my $dt="20150804"; my $prevWednesday=getPrevWednesday($dt); sub getPrevWednesday() { my $givendt=shift; ... }
解决方法
#!/usr/bin/perl use warnings; use strict; use Time::Local; sub prev_wednesday { my $date = shift; my ($year,$month,$day) = $date =~ /(....)(..)(..)/; my $time = timelocal(0,12,$day,$month - 1,$year); do { $time -= 60 * 60 * 24 } until (localtime $time)[6] == 3; # <- Wednesday my ($y,$m,$d) = (localtime $time)[5,4,3]; return sprintf "%4d%02d%02d\n",1900 + $y,$m + 1,$d; } print $_,' ',prev_wednesday($_),for qw( 20150804 20150805 20150806 20150101 20000301 20010301 );
Python / Regex-如何使用正则表达式从文件名中提取日期?
我需要使用python从文件名中提取日期。日期采用以下格式:
month-day-year.somefileextension
例子:
10-12-2011.zipsomedatabase-10-04-2011.sql.tar.gz
提取此内容的最佳方法是使用正则表达式?
我有一些代码:
import rem = re.search(''(?<=-)\w+'', ''derer-10-12-2001.zip'')print m.group(0)
该代码将打印“ 10”。关于如何打印日期的一些线索?
最好的祝福,
答案1
小编典典假定日期始终采用以下格式:[MM]-[DD]-[YYYY]。
re.search("([0-9]{2}\-[0-9]{2}\-[0-9]{4})", fileName)
python 获取日期列表中缺失的日期
获取日期列表中缺失的日期
最近有个需求,就是有一个时间段的日期格式的字符串列表,其中有缺失的日期,想要写一个脚本来查出缺失的日期,算是个小工具,直接上代码。
import datetime
def get_no_date(date_str_li, start_date='''', end_date=''''):
"""获取没有列表中没有包含的的日期区间的日期
args:
start_date: 查询的起始日期字符串,默认为date_li中最小值
end_date: 查询的终止日期的字符串, 默认为date_li中最大值
date_str_li: 所有需要查询的日期的列表
"""
if not date_str_li:
raise ValueError(''list can\''t empty'')
# 所有文件名称,日期的列表
try:
date_li = [datetime.datetime.strptime(date_time, ''%Y-%m-%d'') for date_time in date_str_li]
except:
raise ValueError(''your values can\''t be converted'')
if end_date:
date_end = datetime.datetime.strptime(end_date, ''%Y-%m-%d'')
else:
date_end = max(date_li)
if start_date:
date_start = datetime.datetime.strptime(start_date, ''%Y-%m-%d'')
else:
date_start = min(date_li)
no_list = []
while True:
if date_end not in date_li:
no_list.append(date_end)
if date_end == date_start:
break
date_end -= datetime.timedelta(1)
return [datetime.date.strftime(day, ''%Y-%m-%d'') for day in no_list]
关于如何使用 Python 获取上周五的日期?和python获取上周周一日期的介绍已经告一段落,感谢您的耐心阅读,如果想了解更多关于perl – 如何使用本地时间获取昨天的日期?、Perl – 如何在不使用DateTime的情况下从给定日期获取上周三的日期、Python / Regex-如何使用正则表达式从文件名中提取日期?、python 获取日期列表中缺失的日期的相关信息,请在本站寻找。
本文标签: