python日期和时间问题

 

获取系统时间和日期是 python 编程中最常见的操作之一了,今天我们来聊聊 python 获取系统时间以及日期格式化的问题。

在 python 有 time、calendar 、datetime、pytz、dateutil 等关于时间处理的模块,我们主要讲一讲 time 和 calendar 这两个模块。

1、time 模块

time 模块下是有很多处理时间的函数,比如通常使用 time.time() 来获取当前的时间戳,大多数情况下我们都是需要用到格式化后的时间,用 time.strftime("%Y-%m-%d %H:%M:%S", time.localtime()) 可以将当前时间格式化成标准化日期。下面再给出一个详细的符号列表,在使用的时候注意区分大小写,大小写对应的格式是不一样的。

import time

#获取当前时间戳
print('当前时间戳为:')
print(time.time())

#获取当前时间元组
print('当前时间元组为:')
print(time.localtime())

#把当前时间格式化
currTime = time.strftime("%Y-%m-%d %H:%M:%S", time.localtime())
print('当前时间格式化为:')
print(currTime)

 

当前时间戳为:
1545568780.8683414
当前时间元组为:
time.struct_time(tm_year=2018, tm_mon=12, tm_mday=23, tm_hour=20, tm_min=39, tm_
sec=40, tm_wday=6, tm_yday=357, tm_isdst=0)
当前时间格式化为:
2018-12-23 20:39:40

 

如果我想改变当前日期的格式呢,比如当前日期格式为 " 2018-12-23 20:11:01",现在我想改成 "2018/12/23 20:11:01"。我们先把当前日期转化成一个时间元组(即 time.localtime()),然后再使用 time.strftime 格式化成你想要的格式就行了。

import time

#把当前时间格式化
currTime = time.strftime("%Y-%m-%d %H:%M:%S", time.localtime())
print('当前时间格式化为:')
print(currTime)


currTimeTuple = time.strptime(currTime,"%Y-%m-%d %H:%M:%S")
currTimeFormat = time.strftime("%Y/%m/%d %H:%M:%S", currTimeTuple)
print('当前时间格式化更新为:')
print(currTimeFormat)

 

当前时间格式化为:
2018-12-23 20:46:03
当前时间格式化更新为:
2018/12/23 20:46:03

 

2、calendar 模块

这个模块是和日历相关的,可以打印某个月的日历或者某一整年的日历。这个在实际应用中不常见,大多数是用前端 js 来实现就好,但是这个还是挺有意思的,大家可以尝试修改不同的参数看对结果有什么影响。

import calendar

#打印2019年整年的日历
print(calendar.calendar(2019,w=2,l=1,c=6))

 

                                      2019

      January                   February                   March
Mo Tu We Th Fr Sa Su      Mo Tu We Th Fr Sa Su      Mo Tu We Th Fr Sa Su
    1  2  3  4  5  6                   1  2  3                   1  2  3
 7  8  9 10 11 12 13       4  5  6  7  8  9 10       4  5  6  7  8  9 10
14 15 16 17 18 19 20      11 12 13 14 15 16 17      11 12 13 14 15 16 17
21 22 23 24 25 26 27      18 19 20 21 22 23 24      18 19 20 21 22 23 24
28 29 30 31               25 26 27 28               25 26 27 28 29 30 31

       April                      May                       June
Mo Tu We Th Fr Sa Su      Mo Tu We Th Fr Sa Su      Mo Tu We Th Fr Sa Su
 1  2  3  4  5  6  7             1  2  3  4  5                      1  2
 8  9 10 11 12 13 14       6  7  8  9 10 11 12       3  4  5  6  7  8  9
15 16 17 18 19 20 21      13 14 15 16 17 18 19      10 11 12 13 14 15 16
22 23 24 25 26 27 28      20 21 22 23 24 25 26      17 18 19 20 21 22 23
29 30                     27 28 29 30 31            24 25 26 27 28 29 30

        July                     August                  September
Mo Tu We Th Fr Sa Su      Mo Tu We Th Fr Sa Su      Mo Tu We Th Fr Sa Su
 1  2  3  4  5  6  7                1  2  3  4                         1
 8  9 10 11 12 13 14       5  6  7  8  9 10 11       2  3  4  5  6  7  8
15 16 17 18 19 20 21      12 13 14 15 16 17 18       9 10 11 12 13 14 15
22 23 24 25 26 27 28      19 20 21 22 23 24 25      16 17 18 19 20 21 22
29 30 31                  26 27 28 29 30 31         23 24 25 26 27 28 29
                                                    30

      October                   November                  December
Mo Tu We Th Fr Sa Su      Mo Tu We Th Fr Sa Su      Mo Tu We Th Fr Sa Su
    1  2  3  4  5  6                   1  2  3                         1
 7  8  9 10 11 12 13       4  5  6  7  8  9 10       2  3  4  5  6  7  8
14 15 16 17 18 19 20      11 12 13 14 15 16 17       9 10 11 12 13 14 15
21 22 23 24 25 26 27      18 19 20 21 22 23 24      16 17 18 19 20 21 22
28 29 30 31               25 26 27 28 29 30         23 24 25 26 27 28 29
                                                    30 31
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值