这需求折腾了我半天..
创新互联建站专注于固原网站建设服务及定制,我们拥有丰富的企业做网站经验。 热诚为您提供固原营销型网站建设,固原网站制作、固原网页设计、固原网站官网定制、成都微信小程序服务,打造固原网络公司原创品牌,更为您提供固原网站排名全网营销落地服务。
import time
import datetime as datetime
def late_time(time2):
# 先获得时间数组格式的日期
#time2是外部传入的任意日期
now_time = datetime.datetime.strptime(time2, '%Y-%m-%d')
#如需求是当前时间则去掉函数参数改写 为datetime.datetime.now()
threeDayAgo = (now_time - datetime.timedelta(days =30))
# 转换为时间戳
timeStamp =int(time.mktime(threeDayAgo.timetuple()))
# 转换为其他字符串格式
otherStyleTime = threeDayAgo.strftime("%Y-%m-%d")
return otherStyleTime
a = late_time("2019-3-30")
print(a)# 打印2018-02-28
最近写的项目用到了knn模型进行预测性分析,但是需要把日期型的字段转为整型,换言之,就是时间戳。
将时间转换成时间戳
例如:
将时间2019-4-13 10:02:23转换成时间戳,具体的操作过程为:
利用strptime()函数将时间转换成时间数组
利用mktime()函数将时间数组转换成时间戳
import time
dt = "2019-4-13 10:02:23"
# 转为时间数组
timeArray = time.strptime(dt,"%Y-%m-%d %H:%M:%S")
# 转为时间戳
timeStamp = int(time.mktime(timeArray))
print(timeStamp)
其实就是利用timedelta()来计算了,参数也可以是'days=..'等,help(datetime.timedelta)就清楚了。
python获取三个小时之前的时间的方法:
1、使用“import datetime”导入datetime包
2、用“now()”函数得到的当前时间减去三个小时,输出这个结果就可以了
执行结果如下:
更多Python知识,请关注:Python自学网!!
time.sleep() 函数命名来源于英文单词time(时间)和sleep(睡眠)。
time 是python带的非内置库,使用时需要import,主要用于处理和时间相关的操作。
time.sleep用于给定时间内挂起(等待)当前线程的执行。
time.sleep() 函数的例子:
可以注释掉time.sleep(2)再运行一次对比一下
可以看到虽然都是打印出一样的结果,但time.sleep()加入了等待时间
这里还要解释一下python中线程与进程的区别。
举个例子,厨房做菜看成是一个进程,那么这个进程下面就可能有多个人或一个人(cpu基本执行单元,即线程)来执行,多个人可以分别洗菜,刷碗,摆盘等等同时作业,他们又是共享这个厨房的资源的。每个人存在一定的资源竞争关系,比如炉火只有1个。
这里time.sleep是针对线程执行的,也就是其中一个人去sleep睡觉了,不影响其他人的继续工作。
参数
该函数没有返回值。
结果类似如下:
可以看到秒数相差了5
无
time.sleep()常用于推迟执行的场景
在python中,与时间相关的模块有:time,datetime以及calendar
对基础运行环境有疑问的,推荐参考: python函数深入浅出 0.基础篇
我们通过文件属性的获取,os.stat() 方法:
import os
statinfo=os.stat(r"C:/1.txt")
statinfo
(33206, 0L, 0, 0, 0, 0, 29L, 1201865413, 1201867904, 1201865413)
使用os.stat的返回值statinfo的三个属性获取文件的创建时间等
st_atime (访问时间), st_mtime (修改时间), st_ctime(创建时间),例如,取得文件修改时间:
statinfo.st_mtime
1201865413.8952832
这个时间是一个linux时间戳,需要转换一下
使用time模块中的localtime函数可以知道:
import time
time.localtime(statinfo.st_ctime)
(2008, 2, 1, 19, 30, 13, 4, 32, 0)
2008年2月1日的19时30分13秒(2008-2-1 19:30:13)