import、time与datetime与时间格式转化
2017-11-10 09:09
344 查看
在日常的开发工作中,我们要写很多的python代码,如果都写在一个文件中,会导致代码特别难维护,为了拓展代码的可维护性,我们把函写在不同的文件里,这样每个文件包含的文件就比较少,逻辑更加清楚。在python中,我们创建的文件基本都是以.py结尾,那一个.py的文件就称之为模块。
为了方便管理方便管理模块,python中又引了包(Package)这个概念。每个包下面都有一个init.py文件,这个文件是必须存在的,否则,Python就把这个目录当成普通目录,而不是一个包。init.py可以是空文件,也可以有Python代码,因为init.py本身就是一个模块,举个例子:test目录下面有init.py, aaa.py,bbb.py三个文件,如下图所示:
[root@localhost ~]# tree test
test
├── aaa.py
├── bbb.py
└── init.py
如果是本地导入文件,直接使用:import filename
如果导入的是一个包,该包下面必须是有init.py文件才可以导入,否则报错,只有有了init.py文件,python解析器才会把这个目录当成是的包
常用的导入模块常用的格式:
form xxx import xxx
import xxx
在导入的时候,.py的后缀直接省略,如果是多级的包,或者想导入包里面的函数等,可以使用from进行导入,举个例子:
在chao这个Package下面写一个简单的模块:
def hello():
print (“hello word !”)
创建一个demo1来导入这个模块并使用
from chao import test
test.hello()
hello word !
直接导入系统模块:
import os
#time模块基本不用与取时间,取时间推进
2
3
4
5
输出结果会1秒打印一个数字直到打完
0
1
2
1, 先导入datetime类
2, 通过datetime的now方法就获得当前所需要的时间
3, datetime还是有好多方法的,可以获取year, month,等,请通过dir()方法查看
4, 此时我们获得的now_time还是一个datetime类,所以我们需用用strftime方法转换成字符串,strftime的参数就是最终需要字符串的形式。
5, Strftime需要便是时间的参数有很多,下面我们介绍一下最长用的一些参数:
格式参数:
%Y 带世纪部分的十制年份
%m 十进制表示的月份
%d 十进制表示的每月的第几天
%H 24小时制的小时
%M 十时制表示的分钟数
%S 十进制的秒数
%c 标准时间,如:04/25/17 14:35:14 类似于这种形式
这几个参数就是最常用到的我们用的时间
6,Timedelta可以接收days和seconds两个参数,正数代表几天之前的,负数代表几天之前的
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
2017-11-09 14:20:03.955000
2017-11-09 14:20:03
11/09/17 14:20:03
2017-11-08 14:20:03.955000
2017-11-08 14:20:03
2017-11-10 14:20:03.955000
时间的三种存在方式:时间对象,时间字符串,时间戳
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
2017-04-25 11:59:58
type ‘datetime.datetime’
2017-04-25 11:59:58
type ‘str’
1510150491.54
2017-11-08 22:14:51.539000
为了方便管理方便管理模块,python中又引了包(Package)这个概念。每个包下面都有一个init.py文件,这个文件是必须存在的,否则,Python就把这个目录当成普通目录,而不是一个包。init.py可以是空文件,也可以有Python代码,因为init.py本身就是一个模块,举个例子:test目录下面有init.py, aaa.py,bbb.py三个文件,如下图所示:
[root@localhost ~]# tree test
test
├── aaa.py
├── bbb.py
└── init.py
如果是本地导入文件,直接使用:import filename
如果导入的是一个包,该包下面必须是有init.py文件才可以导入,否则报错,只有有了init.py文件,python解析器才会把这个目录当成是的包
常用的导入模块常用的格式:
form xxx import xxx
import xxx
在导入的时候,.py的后缀直接省略,如果是多级的包,或者想导入包里面的函数等,可以使用from进行导入,举个例子:
在chao这个Package下面写一个简单的模块:
def hello():
print (“hello word !”)
创建一个demo1来导入这个模块并使用
from chao import test
test.hello()
hello word !
直接导入系统模块:
import os
time
#time模块基本不用与取时间,取时间推进import time for i in xrange(3): print i time.sleep(1)1
2
3
4
5
输出结果会1秒打印一个数字直到打完
0
1
2
datetime
1, 先导入datetime类 2, 通过datetime的now方法就获得当前所需要的时间
3, datetime还是有好多方法的,可以获取year, month,等,请通过dir()方法查看
4, 此时我们获得的now_time还是一个datetime类,所以我们需用用strftime方法转换成字符串,strftime的参数就是最终需要字符串的形式。
5, Strftime需要便是时间的参数有很多,下面我们介绍一下最长用的一些参数:
格式参数:
%Y 带世纪部分的十制年份
%m 十进制表示的月份
%d 十进制表示的每月的第几天
%H 24小时制的小时
%M 十时制表示的分钟数
%S 十进制的秒数
%c 标准时间,如:04/25/17 14:35:14 类似于这种形式
这几个参数就是最常用到的我们用的时间
6,Timedelta可以接收days和seconds两个参数,正数代表几天之前的,负数代表几天之前的
实例: from datetime import datetime, timedelta now_time = datetime.now() print (now_time) #精确到秒的时间 new_time = now_time.strftime('%Y-%m-%d %H:%M:%S') print (new_time) #标准时间 aa = now_time.strftime('%c') print (aa) #表示昨天 yesterday = now_time + timedelta(days=-1) print (yesterday) #精确到昨天的秒 y = yesterday.strftime('%Y-%m-%d %H:%M:%S') print (y) #表示明天 tommorow = now_time + timedelta(days=+1) print tommorow1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
2017-11-09 14:20:03.955000
2017-11-09 14:20:03
11/09/17 14:20:03
2017-11-08 14:20:03.955000
2017-11-08 14:20:03
2017-11-10 14:20:03.955000
时间格式转化
时间的三种存在方式:时间对象,时间字符串,时间戳from datetime import datetime, timedelta import time #字符串转datetime string = '2017-04-25 11:59:58' time1 = datetime.strptime(string,'%Y-%m-%d %H:%M:%S') print (time1) print (type(time1)) #datetime转字符串 time1_str = datetime.strftime(time1, '%Y-%m-%d %H:%M:%S') print(time1_str) print(type(time1_str)) #时间戳转时间对象,这里用到的time模块是单独import time new_time = time.time() print (new_time) now_time =datetime.fromtimestamp(new_time) print (now_time)1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
2017-04-25 11:59:58
type ‘datetime.datetime’
2017-04-25 11:59:58
type ‘str’
1510150491.54
2017-11-08 22:14:51.539000
相关文章推荐
- time与datetime与时间格式转化
- DateTime.TryParseExact 万能时间格式转化
- 四周四次课(11月9日) 10.1 import 10.2 datetime获取时间 10.3 时间格式相互转换
- getTimeInMillis());转化时间格式
- 日期时间--import--time-date--datetime--calendar
- 【YMGJ 2】时间格式转换:Unable to convert MySQL date/time value to System.DateTime
- js 将php生成的time()类型时间戳转化成具体date格式的日期
- python datetime时间格式 与 时间字符串 相互转化
- PHP datetime转化为iso8601时间格式
- Python中time模块和datetime模块的常用操作以及几种常用时间格式间的转换
- 数据库中关于datetime、date 、time数据类型比较,及插入日期时间数据格式
- C# DateTime类取各种时间格式
- .NET中DateTime时间格式转换(附用户定义格式)
- iOS开发中时间格式的转化
- sql 将datetime类型转化为指定格式的字符串
- mysql 中时间日期格式datetime和timestamp比较 以及date_format函数
- C#如何将DateTime的12小时格式转换为24小时时间格式
- python学习笔记23(时间与日期 (time, datetime包))
- Python HackerRank|Time Delta(from datetime import datetime)
- java时间格式转化(毫秒 to 00:00)