如何使用 Python 获取当前星期?
使用Python...
我怎样才能获得特定一周中的天数列表?
就像......
{
'1' : ['01/03/2010','01/04/2010','01/05/2010','01/06/2010','01/07/2010','01/08/2010','01/09/2010'],
'2' : ['01/10/2010','01/11/2010','01/12/2010','01/13/2010','01/14/2010','01/15/2010','01/16/2010']
}
这个例子中字典的键是周数。
Using Python...
How can I get a list of the days in a specific week?
Something like...
{
'1' : ['01/03/2010','01/04/2010','01/05/2010','01/06/2010','01/07/2010','01/08/2010','01/09/2010'],
'2' : ['01/10/2010','01/11/2010','01/12/2010','01/13/2010','01/14/2010','01/15/2010','01/16/2010']
}
The key of the dictionary in this example would be the week number.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(7)
提防!如果您想定义自己的周数,可以使用提供的生成器表达式 在你的第一个问题中,顺便说一句,得到了一个很棒的答案)。如果您想遵循 ISO 周数惯例,则需要小心:
例如,2010 年 1 月 1 日和 2 日不是 2010 年的第一周,而是 2009 年的第 53 周。Python
提供了一个使用 ISO 日历查找周数的模块:
示例代码:
注意,再次说明 2010 年 1 月 1 日如何对应 2009 年第 53 周。
使用上一个答案中提供的生成器:
Dict 包含您请求的字典。
Beware! If you want to define YOUR OWN week numbers, you could use the generator expression provided in your first question which, by the way, got an awesome answer). If you want to follow the ISO convention for week numbers, you need to be careful:
So, for instance, January 1st and 2nd in 2010 were NOT week one of 2010, but week 53 of 2009.
Python offers a module for finding the week number using the ISO calendar:
Example code:
Notice, again, how January 1st 2010 corresponds to week 53 of 2009.
Using the generator provided in the previous answer:
Dict contains the dictionary you request.
如何识别周数?在这里,我通过该周的某一天进行标识,使用一个函数获取该周的星期日(您在示例中使用的函数),然后返回它加上接下来的 6 天。
How do you identify weeks? Here I'm identifying by a day in that week, using a function which gets the Sunday in that week (what you used in your example), and then returns it plus the next 6 days.
在阅读该问题后,我开发了一个 3 行方法:
使用
get_week_dates(date.today(), 1, 7)
获取当前星期的日期。There is a 3 lines method I developed after read that question:
Use
get_week_dates(date.today(), 1, 7)
to get current week dates.您可以使用日期时间模块。您可以指定格式和一切。这是链接:http://docs.python.org/library/datetime.html
查看 datetime.datetime( params ) 和 datetime.timedelta( params )。希望一切顺利;-)
示例:
You could use the datetime module. You can specify the format and everything. Here's the link: http://docs.python.org/library/datetime.html
Look into datetime.datetime( params ) and datetime.timedelta( params ). Hope it all goes well ;-)
Example:
这是一些代码:
打印:
Here's some code:
prints:
如果您同意 ISO 标准:
这会产生与您正在寻找的结果略有不同的结果(根据 ISO 标准,周从星期一开始,而不是星期日......),例如:
但您可以通过模拟来调整它适当的“关闭一”错误!-)
日历 模块允许您设置任何工作日作为“一周的第一天”,但没有提供获取所有周的简单方法(当一周分为两个月时不会重复),所以我认为直接工作 datetime 可能是一个更好的主意。
If you're OK with the ISO standard:
This produces slightly different results than the ones you're looking for (by ISO standard, weeks begin on Monday, not Sunday...), e.g.:
but you could tweak this by simulating an appropriate "off by one" error!-)
The calendar modules let you set any weekday as "first day of week", but offers no simple way to get all weeks (without duplications when a week is split between two months), so I think that working directly off datetime is probably a better idea.