时间戳可简单理解为自1970/01/01/ 00:00:00 到现在经过的秒数,如果要计算日期运算,因为涉及到润年,一般使用语言自带的库实现比较简单和高效。但如果只是取时间即时分秒,完全可以不用依赖库,通过模运算和取整运算的方式实现,并且性能比内部库函数效率更高。
运行结果,100万次
1000万次
性能快了接近200%,如果有涉及到大数据分析场景,百万甚至千万级别次的调用时,该算法还是有意义的
就是先获取当前的时间戳,然后按格式输出时间。使用方式如下:1、打开终端,2、输入:python,3、输入:importtime,4、输入:time.localtime([可以放入时间戳]),5、发现输出了一个struct_time结构,6、输入:time.localtime().tm_hour,7、获得了当前的小时值。
提取时间的正则表达式主要介绍了Python使用re模块正则提取字符串中括号内的内容。
time模块是python专门用来处理时间的内建库。下面我们来记录一些基本使用方法。
ps: 用到了一些概念,比如unix时间戳,感兴趣的同学自行百度。
下文参考他人博客内容, 传送门
time.time()函数获取的是Unix时间戳。
返回的是一个float类型的数值。
在python中的time模块中定义了一个叫struct_time的元组,是用来构建时间对象的。
struct_time元组共9个元素组成,如下图:
这个函数可以接受一个unix时间戳,然后转换为struct_time。
如果不传入second参数,则会返回当前时间的时间戳的struct_time对象
再试试传入当前时间的时间戳,是否能得到上面的struct_time呢?
和我们预期的结果一致。
和localtime函数类似,默认情况gmtime函数获取当前时间的utc时间。
返回当前时间的utc时间的struct_time对象。
也可以传入任意的unix时间戳,来得到utc时间。
将一个时间戳struct_time对象转换为时间戳。
传入一个struct_time对象,返回"Sun Jun 20 23:21:05 1993"这种格式的字符串。不传参数,返回当前时间的这种格式的字符串。
传入格式和struct_time,返回按照format格式格式化后的时间字符串。
格式占位符可以参考下图:
将字符串时间转为struct_time,time.strftime()的逆向操作。