日期和时间家庭作业帮助
Python程序可以通过多种方式处理日期和时间。日期格式之间的转换是电脑的常见烦恼。 Python的时间和日历模块可以帮助跟踪日期和时间。
什么是蜱
时间间隔是以秒为单位的浮点数。 1970年1月1日上午12:00(时代),时间的特殊时刻表示。
Python中有一个受欢迎的时间模块,它提供了处理时间的功能,并在表示之间进行转换。函数time.time()从1970年1月1日中午12:00(时代)返回当前系统时间(以tick为单位)。
例
#!/ usr / bin / python
进口时间; #这是包含时间模块所必需的。
ticks = time.time()
打印“自1970年1月1日上午12:00以来的滴答数”:蜱虫
这将产生如下结果:
1970年1月1日上午12:00以来的滴答数:7186862.73399
日期算术很容易与滴答。然而,在这个形式之前的时代之前的日期是不能表现的。未来的日子也不能以这种方式表现 – 截止点是在2038年的UNIX和Windows的某个时刻。
什么是TimeTuple?
许多Python的时间函数处理时间作为9个数字的元组,如下所示:
索引字段值
0 2008年4位数字
1个月1至12日
2日1至31日
3小时0到23
4分0至59分
5秒0到61(60或61是闰秒)
6周第0至6周(0为星期一)
7日第1至366日(朱利安日)
8夏令时-1,0,1,-1表示库确定DST
上面的元组相当于struct_time结构。此结构具有以下属性 –
索引属性值
0 tm_year 2008
1 tm_mon 1到12
2 tm_mday 1到31
3 tm_hour 0到23
4 tm_min 0到59
5 tm_sec 0到61(60或61是闰秒)
6 tm_wday 0到6(0是星期一)
7 tm_yday 1 to 366(Julian day)
8 tm_isdst -1,0,1,-1表示库确定DST
获取当前时间
要将从时间浮点值开始的时间瞬间转换为时间元组,将浮点值传递给返回具有所有九个项目有效的时间元组的函数(例如,本地时间)。
#!/ usr / bin / python
进口时间;
localtime = time.localtime(time.time())
打印“当地时间:”,当地时间
这将产生以下结果,可以以任何其他可呈现的形式格式化 –
当地时间:time.struct_time(tm_year = 2013,tm_mon = 7,
tm_mday = 17,tm_hour = 21,tm_min = 26,tm_sec = 3,tm_wday = 2,tm_yday = 198,tm_isdst = 0)
获取格式化时间
您可以根据您的要求格式化任何时间,但以可读格式获取时间的简单方法是asctime() –
#!/ usr / bin / python
进口时间;
localtime = time.asctime(time.localtime(time.time()))
打印“当地时间:”,当地时间
这将产生以下结果 –
当地时间:周二1月13日10:17:09 2009
获取一个月的日历
日历模块提供了广泛的方法来播放年历和月度日历。在这里,我们打印一个月份的日历(2008年1月) –
#!/ usr / bin / python
进口日历
cal = calendar.month(2008,1)
打印“这是日历:”
打印校准
这将产生以下结果 –
这是日历:
2008年1月
Mo Tu We Th Fr Sa Su
1 2 3 4 5 6
7 8 9 10 11 12 13
14 15 16 17 18 19 20
21 22 23 24 25 26 27
28 29 30 31
时间模块
Python中有一个受欢迎的时间模块,它提供了处理时间和表示之间转换的功能。以下是所有可用方法的列表 –
SN功能说明
1 time.altzone
本地DST时区的偏移量,以UTC为单位秒,如果已定义。如果当地的DST时区是UTC的东部(如在西欧,包括英国),这是负数的。只有在日光不为零的情况下才可使用。
2 time.asctime([tupletime])
接受时间元组,并返回一个可读的24个字符的字符串,例如“Tue Dec 11 18:07:14 2008”。
3 time.clock()
返回当前CPU时间作为浮点数秒。为了测量不同方法的计算成本,time.clock的值比time.time()的值更有用。
4 time.ctime([secs])
像asctime(localtime(secs))而没有参数就像asctime()
5 time.gmtime([secs])
接受从时代开始以秒为单位的瞬间,并返回具有UTC时间的时间元组t。注意:t.tm_isdst始终为0
6 time.localtime([secs])
接受从时代以秒为单位的瞬间,并返回与本地时间相关的时间t(t.tm_isdst为0或1,具体取决于DST是否适用于本地规则的瞬时秒)。
7时间(tupletime)
接受在本地时间表示为时间元组的瞬间,并返回一个浮点值,该时间点以秒为单位从瞬间表示。
8时间(秒)
暂停呼叫线程秒秒。
9 time.strftime(fmt [,tupletime])
接受在本地时间表示为时间元组的瞬间,并返回一个表示由字符串fmt指定的时间的字符串。
10 time.strptime(str,fmt =’%a%b%d%H:%M:%S%Y’)
根据格式字符串fmt解析str,并返回time-tuple格式的时间。
11时间()
返回当前时刻,即从时代开始的一个浮点数。
12 time.tzset()
重置库例程使用的时间转换规则。环境变量TZ指定如何完成。
让我们简要介绍这些功能 –
时间模块有以下两个重要的属性:
SN属性与描述
1时间区
属性time.timezone是UTC之间的本地时区(不含DST)的偏移量(在美洲为> 0,欧洲,亚洲,非洲大部分地区为0)。
2 time.tzname
属性time.tzname是一对与区域相关的字符串,它们分别是没有和具有DST的本地时区的名称。
日历模块
日历模块提供与日历相关的功能,包括为给定月份或年份打印文本日历的功能。
默认情况下,日历将星期一作为一周的第一天,将星期日作为最后一个。要更改此,请调用calendar.setfirstweekday()函数。
以下是日历模块可用的功能列表:
SN功能说明
1 calendar.calendar(year,w = 2,l = 1,c = 6)
返回一个具有年份日历的多行字符串格式化为三列,以c空格分隔。 w是每个日期的字符宽度; 每行的长度为21 * w + 18 + 2 * c。 l是每周的行数。
2 calendar.firstweekday()
返回每周开始的工作日的当前设置。 默认情况下,当日历首次导入时,这是0,意思是星期一。
3 calendar.isleap(年)
如果年是闰年,则返回True; 否则,假。
4 calendar.leapdays(y1,y2)
返回在范围(y1,y2)内的年份中的闰年总数。
我们在家庭作业中为Python或Python日期和时间的家庭作业提供专家帮助。 我们的导师是为各级学生提供家庭作业帮助的专家。