python 如何将字符串转化为datetime.date

python 如何将字符串转化为datetime.date,第1张

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 time

print 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的区别等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/web/9466582.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-04-28
下一篇2023-04-28

发表评论

登录后才能评论

评论列表(0条)

    保存