python-- time 和 datetime

简介: python-- time 和 datetime

前戏


# gmtime转为伦敦时间,localtime转为北京时间
# 时间戳时间(time.time),格林威治时间,float数据类型  给机器用的
#     英国伦敦的时间  1970.1.1 0:0:0
#     北京时间 1970.1.1 8:0:0 
# 结构化时间,时间对象(time.localtime())    上下两种格式的中间状态
#     时间对象 能够通过.属性名来获取对象中的值  
# 格式化时间,字符串时间,str数据类型(time.strftime)给人看的
#   可以根据你需要的格式 来显示时间


time


import time  # 导入time模块
def logger():  # 定义了函数名为logger
    time_format = '%Y-%m-%d %X'  # 时间格式,Y年m月d日X时分秒
    time_current = time.strftime(time_format)  # time.strftime引用上面的时间格式
    print(time_current)
logger()

结果:

2020-09-20 21:24:51

获取时间戳

import time
print(time.time())  # 获取时间戳,1970年到此刻有多少秒

结果:

1600608332.7670934

import time
print(time.localtime())  # 把当前的时间戳转换为本地时间

结果

time.struct_time(tm_year=2020, tm_mon=9, tm_mday=20, tm_hour=21, tm_min=26, tm_sec=15, tm_wday=6, tm_yday=264, tm_isdst=0)

import time
time_obj = time.localtime()
print(time_obj)
print(time_obj.tm_year)  # 获取年
print(time_obj.tm_mday)  # 获取天
print(time_obj.tm_sec)

结果:

time.struct_time(tm_year=2020, tm_mon=9, tm_mday=20, tm_hour=21, tm_min=27, tm_sec=43, tm_wday=6, tm_yday=264, tm_isdst=0)
2020
20
43

import time
print(time.gmtime())  # 把当前的时间戳转换为UTC时间
time.sleep(2)  # 休眠多少秒

结果:

time.struct_time(tm_year=2020, tm_mon=9, tm_mday=20, tm_hour=13, tm_min=28, tm_sec=12, tm_wday=6, tm_yday=264, tm_isdst=0)


三种时间格式的转换


将时间戳格式转为格式化格式

import time
time_obj = time.localtime(1500000000)
format_time = time.strftime('%y-%m-%d %H:%M:%S', time_obj)
print(format_time)

结果:

17-07-14 10:40:00

将格式化时间转为时间戳格式

import time
struct_time = time.strptime('2008-8-8', '%Y-%m-%d')
print(struct_time)
print(time.mktime(struct_time))

结果:

time.struct_time(tm_year=2008, tm_mon=8, tm_mday=8, tm_hour=0, tm_min=0, tm_sec=0, tm_wday=4, tm_yday=221, tm_isdst=-1)
1218124800.0


datetime


import time
import datetime
x = time.localtime()
print(x.tm_year)  # 获取本地时间的年份x.tm_mon月份x.tm_mday日   2018
print(time.strftime("%Y-%m-%d  %H:%M:%S", x))  # 将localtime的时间转换为格式化的字符串
print(time.ctime())
print(datetime.datetime.now())

结果:

2020
2020-09-20  21:31:59
Sun Sep 20 21:31:59 2020
2020-09-20 21:31:59.861279

import datetime
print(datetime.datetime.now())  # 当前时间
print(datetime.datetime.now() + datetime.timedelta(3))  # 当前时间加三天
print(datetime.datetime.now() + datetime.timedelta(-3))  # 当前时间减三天
print(datetime.datetime.now() + datetime.timedelta(hours=3))  # 当前时间加三小时

结果:

2020-09-20 21:32:49.762372
2020-09-23 21:32:49.762372
2020-09-17 21:32:49.762372
2020-09-21 00:32:49.762372

import datetime, time
print(datetime.datetime.now())
print(datetime.date.fromtimestamp(time.time()))  # 时间戳直接转成日期格式
print(datetime.datetime.now())
print(datetime.datetime.now() + datetime.timedelta(3))  # 当前时间+3天
print(datetime.datetime.now() + datetime.timedelta(-3))  # 当前时间-3天
print(datetime.datetime.now() + datetime.timedelta(hours=3))  # 当前时间+3小时
print(datetime.datetime.now() + datetime.timedelta(minutes=30))  # 当前时间+30分
c_time = datetime.datetime.now()
print(c_time.replace(minute=3, hour=2))  # 时间替换

结果:

2020-09-20 21:33:28.694048
2020-09-20
2020-09-20 21:33:28.694048
2020-09-23 21:33:28.694048
2020-09-17 21:33:28.694048
2020-09-21 00:33:28.694048
2020-09-20 22:03:28.694048
2020-09-20 02:03:28.694048

相关文章
|
2月前
|
Python
python的时间操作time
【10月更文挑战第18天】 python的时间操作time
46 5
|
2月前
|
Python
Datetime模块应用:Python计算上周周几对应的日期
Datetime模块应用:Python计算上周周几对应的日期
82 1
|
2月前
|
Python
python的时间操作time-应用
【10月更文挑战第20天】 python模块time的函数使用。
51 7
|
2月前
|
Python
python的时间操作time-函数介绍
【10月更文挑战第19天】 python模块time的函数使用介绍和使用。
38 4
|
2月前
|
数据处理 Python
Python编程-利用datetime模块生成当前年份之前指定的间隔所有年份的日期列表和csv文件
Python编程-利用datetime模块生成当前年份之前指定的间隔所有年份的日期列表和csv文件
22 1
|
2月前
|
数据处理 Python
Python内置时间模块:Datetime实例详解(一)
Python内置时间模块:Datetime实例详解(一)
35 1
|
2月前
|
数据安全/隐私保护 Python
python学习十一:python常用模块使用,如 加密模块pyarmor,时间模块time等
这篇文章介绍了Python中两个常用模块的使用:加密模块pyarmor用于保护代码,以及时间模块time用于处理时间相关的功能。
90 0
|
2月前
|
存储 编解码 iOS开发
Python模块操作:time—Clock Time(一)
Python模块操作:time—Clock Time(一)
21 0
|
2月前
|
存储 iOS开发 MacOS
Python模块操作:time—Clock Time(二)
Python模块操作:time—Clock Time(二)
39 0
|
2月前
|
Python
Python内置时间模块:Datetime实例详解(二)
Python内置时间模块:Datetime实例详解(二)
80 0
下一篇
DataWorks