从0到 2019-04-25
说起计算机中的时间,还有一些比较有意思的事,比如我们经常听到的Unix时间戳,UTC时间,格林威治时间等,从表示上来讲他们基本属于同一个东西,因为他们的时间表示都是从1970年.1月.1日开始到现在的秒数,到这有人就有问题了,为毛是从这个时间点开始的呢?因为这天呀发生了一件大事,UNIX操作系统诞生了,这UNIX诞生可有来历,他是一个歪果仁利用老婆孩子外出度假的时间来完成的,我假设大家了解操作系统的复杂性,那么我们预估他老婆要外出几年才能完成UNIX系统的编写?3年?5年? 错,人家老婆就去了一月就回来了,这就跟linus在下雨天在宿舍没事,写出一个linux系统一样diao,好吧,也许大神就是用来让人敬仰的,总有让人无法望及项背的感觉,其实这个世界就是这样,总有些牛逼的人时不时的冒出来推动整个人类文明的进步,倘若你足够努力,也许有一天你也会站在那个舞台。
介绍完计算机时间的背景,下面就要来干货了,我把用python获取系统时间常用的例子汇总了下,方便小伙伴们快速上手和查询,并且支持日期的常见格式,我们先说如何用time模块来时间我们要的时间:
>>> import time >>> time.time() 1469101837.655935
time.time()函数就是返回的UTC时间,是从1970.1.1到现在的秒数。
>>> time.ctime(1469101837.655935) 'Thu Jul 21 19:50:37 2016'
time.ctime()函数接收一个以秒为单位的实际,然后转换成本地时间的字符串表示。
如果我们想格式化时间格式的输出,可以用strftime()函数,这样能把我们的时间格式变为我们想要的格式:
>>> from time import strftime,gmtime >>> strftime("%m/%d/%Y %H:%M") '07/21/2016 19:57' >>> time.strftime("%Y%m%d") '20160721' >>> strftime("%Y-%m-%d %H:%M:%S", gmtime()) '2016-07-21 11:47:51'
在python中,除了time模块外还有datetime模块,也可以方便的操作时间,比如用datetime模块来显示当前时间:
>>> from datetime import datetime >>> datetime.now().strftime('%Y-%m-%d %H:%M:%S') '2016-07-21 19:49:15' >>> datetime.now().isoformat() '2016-07-21T19:56:46.744893' >>> str(datetime.now()) '2016-07-21 19:48:37.436886'
在脚本中,这2个模块都比较常用,比如做文件备份时要加的时间戳变量,对老旧文件删除操作的时间变量等,大家可以通过上面的例子进行自己修改来得到想要的格式,如果只需要时间的某部分,可以用split()函数分割,通过切片获得想要的内容,这篇就到这里,有问题欢迎留言。