【发布时间】:2013-10-13 12:35:11
【问题描述】:
day = "13/Oct/2013"
print("Parsing :",day)
day, mon, yr= day.split("/")
sday = yr+" "+day+" "+mon
myday = time.strptime(sday, '%Y %d %b')
Sstart = yr+" "+time.strftime("%U",myday )+" 0"
Send = yr+" "+time.strftime("%U",myday )+" 6"
startweek = time.strptime(Sstart, '%Y %U %w')
endweek = time.strptime(Send, '%Y %U %w')
print("Start of week:",time.strftime("%a, %d %b %Y",startweek))
print("End of week:",time.strftime("%a, %d %b %Y",endweek))
print("Data entered:",time.strftime("%a, %d %b %Y",myday))
out:
Parsing : 13/Oct/2013
Start of week: Sun, 13 Oct 2013
End of week: Sat, 19 Oct 2013
Sun, 13 Oct 2013
过去 2 天学习了 python,想知道是否有更清洁的方法来做到这一点。这种方法有效......它看起来很丑,而且必须为每个日期创建一个新的时间变量似乎很愚蠢,并且应该有一种方法可以通过一个简单的电话将给定的日期偏移到一周的开始和结束,但是我在互联网上找不到任何看起来可以工作的文档或文档。
【问题讨论】:
-
这不是对编程的批评,但我从未见过有人写过像“2013 年 10 月 13 日”这样的日期。您确定这就是您要解析输入的方式吗?
-
@Brionius 我不知道 OP 来自哪里,但在我的国家,这种格式很常见(甚至可能是最常见的)。
-
嗯 - 多么有趣。我从未见过基于斜线的日期表示法中的非数字段。