Jua*_*lan 11 python datetime calendar date datetimeoffset
我是一个新手python程序员,我需要编写一个脚本来检查给定日期(以"月,日年"形式的字符串传递)是否是该月的第三个星期五.我使用的是Python 2.7.
例如,这些日期可以帮助您更好地理解我的问题.手头有年历.
我只想使用该语言提供的标准类,如时间,日期时间,日历等.
我已经查看了一些答案,但我看到每天的addidng /减少86400秒的计算,甚至根据一个月的天数进行比较.恕我直言这些是错误的,因为Python中的libreries已经处理了这些细节,所以没有必要重新发明轮子.日历和日期也很复杂:闰年,闰秒,时区,周数等等.所以我认为最好让图书馆解决这些棘手的细节.
在此先感谢您的帮助.
ely*_*ase 23
这应该这样做:
from datetime import datetime
def is_third_friday(s):
d = datetime.strptime(s, '%b %d, %Y')
return d.weekday() == 4 and 15 <= d.day <= 21
Run Code Online (Sandbox Code Playgroud)
测试:
print is_third_friday('Jan 18, 2013') # True
print is_third_friday('Feb 22, 2013') # False
print is_third_friday('Jun 21, 2013') # True
print is_third_friday('Sep 20, 2013') # True
Run Code Online (Sandbox Code Playgroud)
如果您想查找选项的到期时间,您可以使用类似的方法
from datetime import datetime
import calendar
def option_expiration(date):
day = 21 - (calendar.weekday(date.year, date.month, 1) + 2) % 7
return datetime(date.year, date.month, day)
print option_expiration(datetime.today())
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
11830 次 |
| 最近记录: |