初学 Python — 处理日期与时间[0]

来源:互联网 发布:c 网络爬虫原理 编辑:程序博客网 时间:2024/06/06 11:36

一、寻找2013年与2014今日之前(包括今日)年所有的星期五

import datetimeimport calendartoday = datetime.date.today()oneday = datetime.timedelta(days=1)while today.year == 2014 or today.year == 2013:    if today.weekday()==4:        print(today.strftime('%A, %d-%b-%Y'))        today = today-oneday*7    else:        today -= oneday

*注意

1  today.year,today.month,today.day,today.weekday()返回的都是int型,其中weekday()的周一到周日分别以0-6表示。

2  默认日期格式是2014-03-04

3  切不可使用这种循环 while today.year==2014 or 2013。同时Python逻辑运算符号没有||,&&一说。

4  如果要寻找某年的某月的星期X,则定义以下函数(不考虑鲁棒性)

import datetimeimport calendardef FindWeekday(year,month,weekday):    oneday = datetime.timedelta(days=1)    if month == 0:        fristday = datetime.date(year,1,1)        while fristday.year == year:            if fristday.weekday()==weekday-1:                print(fristday.strftime('%A, %d-%b-%Y'))                fristday += oneday*7            else:                fristday += oneday    else:        fristday = datetime.date(year,month,1)        while fristday.year == year and fristday.month == month:            if fristday.weekday()==weekday-1:                print(fristday.strftime('%A, %d-%b-%Y'))                fristday += oneday*7            else:                fristday += oneday
5  为了能够随时调用4中函数,我们将其存储到C:/MyPython目录下,建立新文件,载入该模块

import syssys.path.append("C:\MyPython")  #将目标路径加入到Python搜索路径中去import FindWeekDay #或者 from MyPython import <span style="font-family: Arial, Helvetica, sans-serif;">FindWeekDay </span>
这时,如果直接调用
FindWeekDay(2013,1,3)
将会报错,TypeError: 'module' object is not callable

需加入模块名限定即可

FindWeekDay.FindWeekDay(2013,1,3)
运行结果如下
Wednesday, 02-Jan-2013Wednesday, 09-Jan-2013Wednesday, 16-Jan-2013Wednesday, 23-Jan-2013Wednesday, 30-Jan-2013
                                             
0 0
原创粉丝点击