
python 如何将字符串转化为datetimedate需要分”字符串与time类型的转换“和”time类型与datetime类型的转换“两种情况。
为了从字符串中提取时间,并进行比较,因此有了这个问题,如何将字符串转换成datetime类型
1字符串与time类型的转换
>>> import time
>>> timestr = "time2009-12-14"
>>> t = timestrptime(timestr, "time%Y-%m-%d")
>>> print t
(2009, 12, 14, 0, 0, 0, 0, 348, -1)
>>> type(t)
<type 'timestruct_time'>
>>>
如代码所示使用strptime进行转换,第一个参数是要转换的字符串,第二个参数是字符串中时间的格式与之对应的有函数strftime,是将time类型转换相应的字符串
下面是格式化符号汇总
%a 星期几的简写 Weekday name, abbr
%A 星期几的全称 Weekday name, full
%b 月分的简写 Month name, abbr
%B 月份的全称 Month name, full
%c 标准的日期的时间串 Complete date and time representation
%d 十进制表示的每月的第几天 Day of the month
%H 24小时制的小时 Hour (24-hour clock)
%I 12小时制的小时 Hour (12-hour clock)
%j 十进制表示的每年的第几天 Day of the year
%m 十进制表示的月份 Month number
%M 十时制表示的分钟数 Minute number
%S 十进制的秒数 Second number
%U 第年的第几周,把星期日做为第一天(值从0到53)Week number (Sunday first weekday)
%w 十进制表示的星期几(值从0到6,星期天为0)weekday number
%W 每年的第几周,把星期一做为第一天(值从0到53) Week number (Monday first weekday)
%x 标准的日期串 Complete date representation (eg 13/01/08)
%X 标准的时间串 Complete time representation (eg 17:02:10)
%y 不带世纪的十进制年份(值从0到99)Year number within century
%Y 带世纪部分的十制年份 Year number
%z,%Z 时区名称,如果不能得到时区名称则返回空字符。Name of time zone
%% 百分号
2time类型与datetime类型的转换
这一步比较简单,使用datetime函数,代码如下
>>> import datetime
>>> d = datetimedatetime( t[:6])
>>> print d
2009-12-14 00:00:00
>>> type(d)
<type 'datetimedatetime'>
>>>
备忘:*表示将列表中的数据作为函数的参数,表示将字典的数据作为函数的参数传入
参考资料
python 字符串和datetime转换CSDN博客[引用时间2017-12-28]
Python编程语言中用strftime()方法获取系统当前时间,代码如下:
import timeprint timestrftime('%H-%M-%S')//获取当前系统时间格式:小时-分-秒
'''python中时间日期格式化符号:
%y 两位数的年份表示(00-99)
%Y 四位数的年份表示(000-9999)
%m 月份(01-12)
%d 月内中的一天(0-31)
%H 24小时制小时数(0-23)
%I 12小时制小时数(01-12)
%M 分钟数(00=59)
%S 秒(00-59)
%a 本地简化星期名称
%A 本地完整星期名称
%b 本地简化的月份名称
%B 本地完整的月份名称
%c 本地相应的日期表示和时间表示
%j 年内的一天(001-366)
%p 本地AM或PM的等价符
%U 一年中的星期数(00-53)星期天为星期的开始
%w 星期(0-6),星期天为星期的开始
%W 一年中的星期数(00-53)星期一为星期的开始
%x 本地相应的日期表示
%X 本地相应的时间表示
%Z 当前时区的名称
%% %号本身'''
1,date是日期,通常就是日历上的年月日,比较大一点的时间单位。
2,time通常就是指秒钟数,即从1970年1月1日至今进过的秒钟数。或者指一天中的时分秒,比较小一点的时间单位。就像你问别人What's the time,别人会告诉你几点几分,而不会告诉你年月日。
3,datetime就是年月日和时分秒,包含以上两者。
datetime模块是用来处理日期时间的,通常是用来进行计算日期,可以很方便的使用加减运算。而time模块主要是用来处理秒钟时间的,当然这个秒钟数也可以转化成日期,获取当前日期通常就是从这个模块获取的。不过说time时,有时候表示的也会很宽泛,因为它的词义就是时间嘛,这个不用太计较的。不过date的意义是确定无疑的。
1、使用new Date()获取当前日期,new Date()getTime()获取当前毫秒数
2、计算公式,等于获取的当前日期减去或者加上一天的毫秒数。一天的毫秒数的计算公式:24小时60分钟60秒1000毫秒,也是86400000毫秒。
举例:
Date curDate = new Date();
var preDate = new Date(curDategetTime() - 2460601000); //前一天
var nextDate = new Date(curDategetTime() + 2460601000); //后一天
以下使用后台输出表示。
扩展资料
var myDate = new Date();
myDategetYear(); //获取当前年份(2位)
myDategetFullYear(); //获取完整的年份(4位,1970-)
myDategetMonth(); //获取当前月份(0-11,0代表1月)
myDategetDate(); //获取当前日(1-31)
myDategetDay(); //获取当前星期X(0-6,0代表星期天)
myDategetTime(); //获取当前时间(从197011开始的毫秒数)
myDategetHours(); //获取当前小时数(0-23)
myDategetMinutes(); //获取当前分钟数(0-59)
myDategetSeconds(); //获取当前秒数(0-59)
myDategetMilliseconds(); //获取当前毫秒数(0-999)
myDatetoLocaleDateString(); //获取当前日期
var mytime=myDatetoLocaleTimeString(); //获取当前时间
myDatetoLocaleString( ); //获取日期与时间
DateprototypeisLeapYear 判断闰年
DateprototypeFormat 日期格式化
DateprototypeDateAdd 日期计算
DateprototypeDateDiff 比较日期差
DateprototypetoString 日期转字符串
DateprototypetoArray 日期分割为数组
DateprototypeDatePart 取日期的部分信息
DateprototypeMaxDayOfDate 取日期所在月的最大天数
DateprototypeWeekNumOfYear 判断日期所在年的第几周
StringToDate 字符串转日期型
IsValidDate 验证日期有效性
CheckDateTime 完整日期时间检查
daysBetween 日期天数差
大概看了看网上关于定时器的使用,里面有各种模块的使用,感觉写的五花八门。
自己都尝试了一遍,有能单独用的也有不是我想要的,索性自己定义一个,查阅到datatime函数正好符合我的需要。
程序流程:
1设定工作开始和结束时间(24小时制)
2获取当前时间: timestamp = datetimedatetimenow()time()
3判断获取的当前时间是否在设定的时间内,定义DoWork函数工作
4若不在则不工作
使用流程:
1判断是否在定义工作允许运行期间(由于返回是不工作故需要设定休息时间)
2设定休息时间,timesleep按秒计算
方法1:
import datetime
starttime = datetimedatetimenow()
#long running
#do something other
endtime = datetimedatetimenow()
print (endtime - starttime)seconds
datetimedatetimenow()获取的是当前日期,在程序执行结束之后,这个方式获得的时间值为程序执行的时间。
方法2:
start = timetime()
#long running
#do something other
end = timetime()
print end-start
timetime()获取自纪元以来的当前时间(以秒为单位)。如果系统时钟提供它们,则可能存在秒的分数。所以这个地方返回的是一个浮点型类型。这里获取的也是程序的执行时间。
datetime在python中比较常用,主要用来处理时间日期,使用前先倒入datetime模块。下面总结下本人想到的几个常用功能。
1、当前时间:
>>> print datetimedatetimenow()2015-07-17 16:39:15712000>>> print type(datetimedatetimenow())
<type 'datetimedatetime'>
返回的datetime时间格式。
2、当前日期
>>> print datetimedatetimenow()date()2015-07-17>>> print type(datetimedatetimenow()date())
<type 'datetimedate'>
3、当前时间tuple
>>> datetimedatetimenow()timetuple()timestruct_time(tm_year=2015, tm_mon=7, tm_mday=17, tm_hour=16, tm_min=51, tm_sec=26, tm_wday=4, tm_yday=198, tm_isdst=-1)
>>> datetimedatetimenow()timetuple()tm_mday17
4、时间移动(几天、几小时前后)
使用datetimetimedelta这个方法来前后移动时间,可以用的参数有weeks,days,hours,minutes,seconds,microseconds。
>>> print datetimedatetimenow() + datetimetimedelta(days=1)2015-07-18 16:49:48574000>>> print datetimedatetimenow() + datetimetimedelta(hours=1)2015-07-17 17:49:57122000>>> print datetimedatetimenow() + datetimetimedelta(minutes=-30)2015-07-17 16:20:08619000
上个月最后一天
>>> print datetimedate(day=1,month=datetimedatetoday()month,year=datetimedatetoday()year) - datetimetimedelta(days=1)2015-06-30
5、获取两个时间的时间差
>>> (datetimedatetimenow() - datetimedatetimeutcnow())total_seconds()
288000
6、时间转化
datetime转str格式:
>>> datetimedatetimenow()strftime("%Y-%m-%d %H:%M:%S")'2015-07-17 16:58:46'
str格式转datetime格式:
>>> datetimedatetimestrptime("2015-07-17 16:58:46","%Y-%m-%d %H:%M:%S")
datetimedatetime(2015, 7, 17, 16, 58, 46)
>>> print datetimedatetimestrptime("2015-07-17 16:58:46","%Y-%m-%d %H:%M:%S")2015-07-17 16:58:46>>> print type(datetimedatetimestrptime("2015-07-17 16:58:46","%Y-%m-%d %H:%M:%S"))
<type 'datetimedatetime'>
datetime转timestamp:
>>> import time>>> now=datetimedatetimenow()>>> timemktime(nowtimetuple())14371238120
timestamp转datetime:
>>> datetimedatetimefromtimestamp(14371238120)datetimedatetime(2015, 7, 17, 17, 3, 32)
>>> print datetimedatetimefromtimestamp(14371238120)
2015-07-17 17:03:32
以上就是关于python 如何将字符串转化为datetime.date全部的内容,包括:python 如何将字符串转化为datetime.date、python能截取系统当前时间吗、python date,datetime 和time的区别等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)