GVKun编程网logo

如何使用 Python 获取上周五的日期?(python获取上周周一日期)

13

如果您对如何使用Python获取上周五的日期?和python获取上周周一日期感兴趣,那么这篇文章一定是您不可错过的。我们将详细讲解如何使用Python获取上周五的日期?的各种细节,并对python获取

如果您对如何使用 Python 获取上周五的日期?python获取上周周一日期感兴趣,那么这篇文章一定是您不可错过的。我们将详细讲解如何使用 Python 获取上周五的日期?的各种细节,并对python获取上周周一日期进行深入的分析,此外还有关于perl – 如何使用本地时间获取昨天的日期?、Perl – 如何在不使用DateTime的情况下从给定日期获取上周三的日期、Python / Regex-如何使用正则表达式从文件名中提取日期?、python 获取日期列表中缺失的日期的实用技巧。

本文目录一览:

如何使用 Python 获取上周五的日期?(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 – 如何使用本地时间获取昨天的日期?

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;
}

解决方法

DST问题可以通过从今天中午3600秒而不是当前时间来解决:
#!/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的情况下从给定日期获取上周三的日期

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;
    ...
}

解决方法

另一种蛮力方法,这次使用另一个核心模块 Time::Local.

#!/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 / 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 获取日期列表中缺失的日期

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 获取日期列表中缺失的日期的相关信息,请在本站寻找。

本文标签: