【问题标题】:I want to extract a certain dates from the calendar IN PYTHON please我想从 Python 中的日历中提取某些日期,请
【发布时间】:2016-12-12 17:22:21
【问题描述】:

我想从日历中提取特定日期。例如,假设开始日期是 2017 年 2 月 1 日,而那一天恰好是星期一,我想将日期添加到一个空列表中,如果天在(星期一到星期四),我想添加 8 天日期并将该日期添加到列表中。如果是星期五,则将 3 天添加到列表中。

简单地说,如果开始日期是星期一、下星期二、该周之后的星期三以及之后的星期四,然后是星期五……每周,递增日期并将其添加到列表中,但如果是星期五,则将星期一的日期添加到名单。

【问题讨论】:

  • 你能发布你到目前为止所尝试的吗?
  • 我仍处于试图找出从哪里开始的边缘,我尝试导入日期时间并找出今天的日期,然后返回以将日期添加 7 天,但不认为这会工作

标签: python date calendar


【解决方案1】:

pandas 包不是必需的,但如果您需要通过 raw_input() 输入日期,它是一个很好的工具,只需一行代码即可处理格式问题。 (2016/12/12 与 12-12-16 等)

如果我正确理解您的问题,这应该可以满足您的要求:

from datetime import timedelta
import pandas as pd

dates = []
start_date = pd.to_datetime(raw_input('Enter Start Date: '))
dates.append(start_date.strftime('%x'))

if start_date.weekday() < 4:
    add_date = start_date + timedelta(8)
    dates.append(add_date.strftime('%x'))
elif start_date.weekday() == 4:
    add_date = start_date + timedelta(3)
    dates.append(add_date.strftime('%x'))
else:
    print 'Error: Start Date is on a weekend.'

print dates

【讨论】:

  • 出于某种原因,我不断收到愚蠢的错误,例如“str”对象没有属性“strftime”,但这对我帮助很大!谢谢!
  • 啊,是的,知道数据类型总是很重要的,因为它们有不同的内置函数。 strftime 是日期时间对象的函数。 datetime 对象是数字的,因此 strftime 将对象转换为字符串,给定提供的格式字符串。例如,'%x' 使日期时间显示为 12/12/2016 格式。访问http://strftime.org/ 了解有关格式字符串的更多信息。
猜你喜欢
  • 2017-10-03
  • 1970-01-01
  • 2016-09-27
  • 2014-11-08
  • 2021-05-15
  • 2016-03-31
  • 1970-01-01
  • 2018-01-01
  • 1970-01-01
相关资源
最近更新 更多