python datetime

八路抢答器____一个作品的制作思路 学习了解到一个产品制作完全由一个人去采购,设计,仿真,画PCB。不光是需求的分析还有实现功能时如何搭建电路,和给出一个简单高效的设计方法也是至关重要的。 阅读详情

 Python提供了多个内置模块用于操作日期时间,像calendar,time,datetime。time模块我在之前的文章已经有所介绍,它提供 的接口与C标准库time.h基本一致。相比于time模块,datetime模块的接口则更直观、更容易调用。今天就来讲讲datetime模块。

    datetime模块定义了两个常量:datetime.MINYEAR和datetime.MAXYEAR,分别表示datetime所能表示的最 小、最大年份。其中,MINYEAR = 1,MAXYEAR = 9999。(对于偶等玩家,这个范围已经足够用矣~~)

    datetime模块定义了下面这几个类:

  • datetime.date:表示日期的类。常用的属性有year, month, day;
  • datetime.time:表示时间的类。常用的属性有hour, minute, second, microsecond;
  • datetime.datetime:表示日期时间。
  • datetime.timedelta:表示时间间隔,即两个时间点之间的长度。
  • datetime.tzinfo:与时区有关的相关信息。(这里不详细充分讨论该类,感兴趣的童鞋可以参考python手册)

    注 :上面这些类型的对象都是不可变(immutable)的。

    下面详细介绍这些类的使用方式。

date类

    date类表示一个日期。日期由年、月、日组成(地球人都知道~~)。date类的构造函数如下:

    class datetime.date(year, month, day):参数的意义就不多作解释了,只是有几点要注意一下:

  • year的范围是[MINYEAR, MAXYEAR],即[1, 9999];
  • month的范围是[1, 12]。(月份是从1开始的,不是从0开始的~_~);
  • day的最大值根据给定的year, month参数来决定。例如闰年2月份有29天;

    date类定义了一些常用的类方法与类属性,方便我们操作:

  • date.resolution:date对象表示日期的最小单位。这里是天。
  • date.today():返回一个表示当前本地日期的date对象;
  • date.fromtimestamp(timestamp):根据给定的时间戮,返回一个date对象;
  • datetime.fromordinal(ordinal):将Gregorian日历时间转换为date对象;(Gregorian Calendar :一种日历表示方法,类似于我国的农历,西方国家使用比较多,此处不详细展开讨论。)

    使用例子:

  1. from  datetime  import  *  
  2. import  time  
  3.   
  4. print   'date.max:' , date.max  
  5. print   'date.min:' , date.min  
  6. print   'date.today():' , date.today()  
  7. print   'date.fromtimestamp():' , date.fromtimestamp(time.time())  
  8.   
  9. # # ---- 结果 ----   
  10. # date.max: 9999-12-31   
  11. # date.min: 0001-01-01   
  12. # date.today(): 2010-04-06   
  13. # date.fromtimestamp(): 2010-04-06   
  1. from datetime import *  
  2. import time  
  3.   
  4. print 'date.max:', date.max  
  5. print 'date.min:', date.min  
  6. print 'date.today():', date.today()  
  7. print 'date.fromtimestamp():', date.fromtimestamp(time.time())  
  8.   
  9. # # ---- 结果 ----  
  10. # date.max: 9999-12-31  
  11. # date.min: 0001-01-01  
  12. # date.today(): 2010-04-06  
  13. # date.fromtimestamp(): 2010-04-06  

    date提供的实例方法和属性:

  • date.year、date.month、date.day:年、月、日;
  • date.replace(year, month, day):生成一个新的日期对象,用参数指定的年,月,日代替原有对象中的属性。(原有对象仍保持不变)
  • date.timetuple():返回日期对应的time.struct_time对象;
  • date.toordinal():返回日期对应的Gregorian Calendar日期;
  • date.weekday():返回weekday,如果是星期一,返回0;如果是星期2,返回1,以此类推;
  • data.isoweekday():返回weekday,如果是星期一,返回1;如果是星期2,返回2,以此类推;
  • date.isocalendar():返回格式如(year,month,day)的元组;
  • date.isoformat():返回格式如'YYYY-MM-DD’的字符串;
  • date.strftime(fmt):自定义格式化字符串。在下面详细讲解。

    使用例子:

  1. now = date( 2010 ,  04 ,  06 )  
  2. tomorrow = now.replace(day = 07 )  
  3. print   'now:' , now,  ', tomorrow:' , tomorrow  
  4. print   'timetuple():' , now.timetuple()  
  5. print   'weekday():' , now.weekday()  
  6. print   'isoweekday():' , now.isoweekday()  
  7. print   'isocalendar():' , now.isocalendar()  
  8. print   'isoformat():' , now.isoformat()
  9. print 'strftime():', now.strftime('%Y/%m/%d')  
  10.   
  11. # # ---- 结果 ----   
  12. # now: 2010-04-06 , tomorrow: 2010-04-07   
  13. # timetuple(): (2010, 4, 6, 0, 0, 0, 1, 96, -1)   
  14. # weekday(): 1   
  15. # isoweekday(): 2   
  16. # isocalendar(): (2010, 14, 2)   
  17. # isoformat(): 2010-04-06
  18. # strftime(): 2010/04/06   
  1. now = date(2010, 04, 06)  
  2. tomorrow = now.replace(day = 07)  
  3. print 'now:', now, ', tomorrow:', tomorrow  
  4. print 'timetuple():', now.timetuple()  
  5. print 'weekday():', now.weekday()  
  6. print 'isoweekday():', now.isoweekday()  
  7. print 'isocalendar():', now.isocalendar()  
  8. print 'isoformat():', now.isoformat()  
  9.   
  10. # # ---- 结果 ----  
  11. # now: 2010-04-06 , tomorrow: 2010-04-07  
  12. # timetuple(): (2010, 4, 6, 0, 0, 0, 1, 96, -1)  
  13. # weekday(): 1  
  14. # isoweekday(): 2  
  15. # isocalendar(): (2010, 14, 2)  
  16. # isoformat(): 2010-04-06  

    date还对某些操作进行了重载,它允许我们对日期进行如下一些操作:

  • date2 = date1 + timedelta  # 日期加上一个间隔,返回一个新的日期对象(timedelta将在下面介绍,表示时间间隔)
  • date2 = date1 - timedelta   # 日期隔去间隔,返回一个新的日期对象
  • timedelta = date1 - date2   # 两个日期相减,返回一个时间间隔对象
  • date1 < date2  # 两个日期进行比较

    注: 对日期进行操作时,要防止日期超出它所能表示的范围。

    使用例子:

  1. now = date.today()  
  2. tomorrow = now.replace(day = 7 )  
  3. delta = tomorrow - now  
  4. print   'now:' , now,  ' tomorrow:' , tomorrow  
  5. print   'timedelta:' , delta  
  6. print  now + delta  
  7. print  tomorrow > now  
  8.   
  9. # # ---- 结果 ----   
  10. # now: 2010-04-06  tomorrow: 2010-04-07   
  11. # timedelta: 1 day, 0:00:00   
  12. # 2010-04-07   
  13. # True   
  1. now = date.today()  
  2. tomorrow = now.replace(day = 7)  
  3. delta = tomorrow - now  
  4. print 'now:', now, ' tomorrow:', tomorrow  
  5. print 'timedelta:', delta  
  6. print now + delta  
  7. print tomorrow > now  
  8.   
  9. # # ---- 结果 ----  
  10. # now: 2010-04-06  tomorrow: 2010-04-07  
  11. # timedelta: 1 day, 0:00:00  
  12. # 2010-04-07  
  13. # True 

  14. oneday = datetime.timedelta(days = 1)// 参数为days、hours、minutes、seconds
  15. print oneday+oneday

  16. # 2010-04-07

  17. t1 = datetime.date(2014,8,26)
  18. t2 = datetime.date(2014,8,27)
  19. (t2 - t1).days //返回两个日期差多少天

Time类

    time类表示时间,由时、分、秒以及微秒组成。(我不是从火星来的~~)time类的构造函数如下:

    class datetime.time(hour[ , minute[ , second[ , microsecond[ , tzinfo] ] ] ] ) :各参数的意义不作解释,这里留意一下参数tzinfo,它表示时区信息。注意一下各参数的取值范围:hour的范围为[0, 24),minute的范围为[0, 60),second的范围为[0, 60),microsecond的范围为[0, 1000000)。

    time类定义的类属性:

  • time.min、time.max:time类所能表示的最小、最大时间。其中,time.min = time(0, 0, 0, 0), time.max = time(23, 59, 59, 999999);
  • time.resolution:时间的最小单位,这里是1微秒;

    time类提供的实例方法和属性:

  • time.hour、time.minute、time.second、time.microsecond:时、分、秒、微秒;
  • time.tzinfo:时区信息;
  • time.replace([ hour[ , minute[ , second[ , microsecond[ , tzinfo] ] ] ] ] ):创建一个新的时间对象,用参数指定的时、分、秒、微秒代替原有对象中的属性(原有对象仍保持不变);
  • time.isoformat():返回型如"HH:MM:SS"格式的字符串表示;
  • time.strftime(fmt):返回自定义格式化字符串。在下面详细介绍;

使用例子:

  1. from  datetime  import  *  
  2. tm = time(23 ,  46 ,  10 )  
  3. print   'tm:' , tm  
  4. print   'hour: %d, minute: %d, second: %d, microsecond: %d'  \  
  5.         % (tm.hour, tm.minute, tm.second, tm.microsecond)  
  6. tm1 = tm.replace(hour = 20 )  
  7. print   'tm1:' , tm1  
  8. print   'isoformat():' , tm.isoformat()  
  9.   
  10. # # ---- 结果 ----   
  11. # tm: 23:46:10   
  12. # hour: 23, minute: 46, second: 10, microsecond: 0   
  13. # tm1: 20:46:10   
  14. # isoformat(): 23:46:10   
  1. from datetime import *  
  2. tm = time(23, 46, 10)  
  3. print 'tm:', tm  
  4. print 'hour: %d, minute: %d, second: %d, microsecond: %d' \  
  5.         % (tm.hour, tm.minute, tm.second, tm.microsecond)  
  6. tm1 = tm.replace(hour = 20)  
  7. print 'tm1:', tm1  
  8. print 'isoformat():', tm.isoformat()  
  9.   
  10. # # ---- 结果 ----  
  11. # tm: 23:46:10  
  12. # hour: 23, minute: 46, second: 10, microsecond: 0  
  13. # tm1: 20:46:10  
  14. # isoformat(): 23:46:10  

    像date一样,也可以对两个time对象进行比较,或者相减返回一个时间间隔对象。这里就不提供例子了。

datetime类

    datetime是date与time的结合体,包括date与time的所有信息。它的构造函数如下:datetime.datetime (year, month, day[ , hour[ , minute[ , second[ , microsecond[ , tzinfo] ] ] ] ] ),各参数的含义与date、time的构造函数中的一样,要注意参数值的范围。

    datetime类定义的类属性与方法:

  • datetime.min、datetime.max:datetime所能表示的最小值与最大值;
  • datetime.resolution:datetime最小单位;
  • datetime.today():返回一个表示当前本地时间的datetime对象;
  • datetime.now([tz]):返回一个表示当前本地时间的datetime对象,如果提供了参数tz,则获取tz参数所指时区的本地时间;
  • datetime.utcnow():返回一个当前utc时间的datetime对象;
  • datetime.fromtimestamp(timestamp[, tz]):根据时间戮创建一个datetime对象,参数tz指定时区信息;
  • datetime.utcfromtimestamp(timestamp):根据时间戮创建一个datetime对象;
  • datetime.combine(date, time):根据date和time,创建一个datetime对象;
  • datetime.strptime(date_string, format):将格式字符串转换为datetime对象;

使用例子:

  1. from  datetime  import  *  
  2. import  time  
  3.   
  4. print   'datetime.max:' , datetime.max  
  5. print   'datetime.min:' , datetime.min  
  6. print   'datetime.resolution:' , datetime.resolution  
  7. print   'today():' , datetime.today()  
  8. print   'now():' , datetime.now()  
  9. print   'utcnow():' , datetime.utcnow()  
  10. print   'fromtimestamp(tmstmp):' , datetime.fromtimestamp(time.time())  
  11. print   'utcfromtimestamp(tmstmp):' , datetime.utcfromtimestamp(time.time())

  12. datetime.datetime.strptime('2014-08-26','%Y-%m-%d')  
  13.   
  14. # ---- 结果 ----   
  15. # datetime.max: 9999-12-31 23:59:59.999999   
  16. # datetime.min: 0001-01-01 00:00:00   
  17. # datetime.resolution: 0:00:00.000001   
  18. # today(): 2010-04-07 09:48:16.234000   
  19. # now(): 2010-04-07 09:48:16.234000   
  20. # utcnow(): 2010-04-07 01:48:16.234000  # 中国位于+8时间,与本地时间相差8   
  21. # fromtimestamp(tmstmp): 2010-04-07 09:48:16.234000   
  22. # utcfromtimestamp(tmstmp): 2010-04-07 01:48:16.234000   
  1. from datetime import *  
  2. import time  
  3.   
  4. print 'datetime.max:', datetime.max  
  5. print 'datetime.min:', datetime.min  
  6. print 'datetime.resolution:', datetime.resolution  
  7. print 'today():', datetime.today()  
  8. print 'now():', datetime.now()  
  9. print 'utcnow():', datetime.utcnow()  
  10. print 'fromtimestamp(tmstmp):', datetime.fromtimestamp(time.time())  
  11. print 'utcfromtimestamp(tmstmp):', datetime.utcfromtimestamp(time.time())  
  12.   
  13. # ---- 结果 ----  
  14. # datetime.max: 9999-12-31 23:59:59.999999  
  15. # datetime.min: 0001-01-01 00:00:00  
  16. # datetime.resolution: 0:00:00.000001  
  17. # today(): 2010-04-07 09:48:16.234000  
  18. # now(): 2010-04-07 09:48:16.234000  
  19. # utcnow(): 2010-04-07 01:48:16.234000  # 中国位于+8时间,与本地时间相差8  
  20. # fromtimestamp(tmstmp): 2010-04-07 09:48:16.234000  
  21. # utcfromtimestamp(tmstmp): 2010-04-07 01:48:16.234000  

    datetime类提供的实例方法与属性(很多属性或方法在date和time中已经出现过,在此有类似的意义,这里只罗列这些方法名,具体含义不再逐个展开介绍,可以参考上文对date与time类的讲解。):

  • datetime.year、month、day、hour、minute、second、microsecond、tzinfo:
  • datetime.date():获取date对象;
  • datetime.time():获取time对象;
  • datetime. replace ([ year[ , month[ , day[ , hour[ , minute[ , second[ , microsecond[ , tzinfo] ] ] ] ] ] ] ]):
  • datetime. timetuple ()
  • datetime. utctimetuple ()
  • datetime. toordinal ()
  • datetime. weekday ()
  • datetime. isocalendar ()
  • datetime. isoformat ([ sep] )
  • datetime. ctime ():返回一个日期时间的C格式字符串,等效于time.ctime(time.mktime(dt.timetuple()));
  • datetime. strftime (format)

    像date一样,也可以对两个datetime对象进行比较,或者相减返回一个时间间隔对象,或者日期时间加上一个间隔返回一个新的日期时间对象。这里不提供详细的例子,看客自己动手试一下~~

格式字符串

    datetime、date、time都提供了strftime()方法,该方法接收一个格式字符串,输出日期时间的字符串表示。下表是从python手册中拉过来的,我对些进行了简单的翻译(翻译的有点噢口~~)。

格式字符  意义

%a 星期的简写。如 星期三为Web
%A 
星期的全写。如 星期三为Wednesday
%b 
月份的简写。如4月份为Apr
%B月份的全写。如4月份为April 

%c:  
日期时间的字符串表示。(如: 04/07/10 10:43:39)
%d:  
日在这个月中的天数(是这个月的第几天)
%f:  
微秒(范围[0,999999])
%H:  
小时(24小时制,[0, 23])
%I:  
小时(12小时制,[0, 11])
%j:  
日在年中的天数 [001,366](是当年的第几天)
%m:  
月份([01,12])
%M:  
分钟([00,59])
%p:  
AM或者PM
%S:  
秒(范围为[00,61],为什么不是[00, 59],参考python手册~_~)
%U:  
周在当年的周数当年的第几周),星期天作为周的第一天
%w:  
今天在这周的天数,范围为[0, 6],6表示星期天
%W:  
周在当年的周数(是当年的第几周),星期一作为周的第一天
%x:  
日期字符串(如:04/07/10)
%X:  
时间字符串(如:10:43:39)
%y:  
2个数字表示的年份
%Y:  
4个数字表示的年份
%z:  
与utc时间的间隔 (如果是本地时间,返回空字符串)
%Z:  
时区名称(如果是本地时间,返回空字符串)
%%:  
%% => %

例子:

  1. dt = datetime.now()  
  2. print   '(%Y-%m-%d %H:%M:%S %f): ' , dt.strftime( '%Y-%m-%d %H:%M:%S %f' )  
  3. print   '(%Y-%m-%d %H:%M:%S %p): ' , dt.strftime( '%y-%m-%d %I:%M:%S %p' )  
  4. print   '%%a: %s '  % dt.strftime( '%a' )  
  5. print   '%%A: %s '  % dt.strftime( '%A' )  
  6. print   '%%b: %s '  % dt.strftime( '%b' )  
  7. print   '%%B: %s '  % dt.strftime( '%B' )  
  8. print   '日期时间%%c: %s '  % dt.strftime( '%c' )  
  9. print   '日期%%x:%s '  % dt.strftime( '%x' )  
  10. print   '时间%%X:%s '  % dt.strftime( '%X' )  
  11. print   '今天是这周的第%s天 '  % dt.strftime( '%w' )  
  12. print   '今天是今年的第%s天 '  % dt.strftime( '%j' )  
  13. print   '今周是今年的第%s周 '  % dt.strftime( '%U' )  
  14.   
  15. # # ---- 结果 ----   
  16. # (%Y-%m-%d %H:%M:%S %f):  2010-04-07 10:52:18 937000   
  17. # (%Y-%m-%d %H:%M:%S %p):  10-04-07 10:52:18 AM   
  18. # %a: Wed    
  19. # %A: Wednesday    
  20. # %b: Apr    
  21. # %B: April    
  22. # 日期时间%c: 04/07/10 10:52:18    
  23. # 日期%x:04/07/10    
  24. # 时间%X:10:52:18    
  25. # 今天是这周的第3天    
  26. # 今天是今年的第097天    
  27. # 今周是今年的第14周   
    1. dt = datetime.now()  
    2. print '(%Y-%m-%d %H:%M:%S %f): ', dt.strftime('%Y-%m-%d %H:%M:%S %f')  
    3. print '(%Y-%m-%d %H:%M:%S %p): ', dt.strftime('%y-%m-%d %I:%M:%S %p')  
    4. print '%%a: %s ' % dt.strftime('%a')  
    5. print '%%A: %s ' % dt.strftime('%A')  
    6. print '%%b: %s ' % dt.strftime('%b')  
    7. print '%%B: %s ' % dt.strftime('%B')  
    8. print '日期时间%%c: %s ' % dt.strftime('%c')  
    9. print '日期%%x:%s ' % dt.strftime('%x')  
    10. print '时间%%X:%s ' % dt.strftime('%X')  
    11. print '今天是这周的第%s天 ' % dt.strftime('%w')  
    12. print '今天是今年的第%s天 ' % dt.strftime('%j')  
    13. print '今周是今年的第%s周 ' % dt.strftime('%U')  
    14.   
    15. # # ---- 结果 ----  
    16. # (%Y-%m-%d %H:%M:%S %f):  2010-04-07 10:52:18 937000  
    17. # (%Y-%m-%d %H:%M:%S %p):  10-04-07 10:52:18 AM  
    18. # %a: Wed   
    19. # %A: Wednesday   
    20. # %b: Apr   
    21. # %B: April   
    22. # 日期时间%c: 04/07/10 10:52:18   
    23. # 日期%x:04/07/10   
    24. # 时间%X:10:52:18   
    25. # 今天是这周的第3天   
    26. # 今天是今年的第097天   
    27. # 今周是今年的第14周  
Google Earth Engine(GEE)——使用归一化燃烧指数 (NBR) 绘制地表烧伤严重程度图 归一化燃烧指数(Normalized Burn Ratio, NBR)是一种遥感指标,用于评估野火或烧伤地面后的植被恢复情况。NBR能增强较大范围的火灾区域,如大于200公顷。它是通过比较远红外波段 (SWIR) 和近红外波段 (NIR) 的反射率来计算的。SWIR波段测量烧伤地面的反射率,NIR波段测量没有受到烧伤影响的植被的反射率。NBR的计算公式为:NBR =(NIR-SWIR)/(NIR + SWIR)。其中,NIR为近红外波段,SWIR为短波红外波段。 阅读详情

相关推荐

小红书分享链接失效?教你永久保存笔记的2种方法(含API调用技巧)

本文详细解析了小红书笔记链接失效的原因,并提供了两种永久保存笔记的方法,包括短链接转换API调用技巧和本地归档技术。通过Python代码示例和工具推荐,帮助用户实现笔记内容的高效保存和管理,确保珍贵内容不再丢失。

gin88的博客 2757

datetime,time模块

2019独角兽企业重金招聘Python工程师标准>>> ...

weixin_33882443的博客 379

【WPF】渲染失败甚至程序崩溃,D3DImage.Lock卡死,报COMException异常和UCEERR_RENDERTHREADFAILURE消息

最近遇到WPF程序抛出ystem.Runtime.InteropServices.COMException异常,异常消息UCEERR_RENDERTHREADFAILURE (Exception from HRESULT: 0x88980406),或者先在D3DImage.Lock卡死,然后再出异常的问题。 现象和复现方法 出现了标题中的现象,你很可能有至少两个屏幕,并且可能在你的程序中直接或间接用了如下的库或技术: 1、WpfD3D这个开源库 2、自行使用了WPF中的D3DImage类,实现D3D

几罗星人的专栏 8254

python基础-datetime日期与时间

python操作时间与日期,日期格式化输出,日期比较大小。

崔岚的博客 1767

Origin2018(汉化版)在使用科学计数法的时候如何将坐标刻度的0.0改成0

文章目录1 问题2 解决方法 1 问题 先看下面这张图,当我使用科学计数法时,纵坐标出现了0.0的字样,这样看起来很不美观。有些期刊还会有要求,不能出现0.0的格式。 图1 那么该怎么将它改成0呢?首先让我们尝试着用Origin自带的属性,看看能不能设置。 2 解决方法 解决方法一: step1: 双击坐标轴,打开坐标轴属性设置。 step2: 在刻度线标签选项中设置左轴的显示 图2 会发现,按照图2的方式改好之后,其它的小数位也全没了,如果但是有些数字就被覆盖了,这显然不是我

qq_40077565的博客 2万+

从零到一:YT8512C PHY芯片在STM32F407上的LWIP移植实战与避坑指南

本文详细介绍了YT8512C PHY芯片在STM32F407平台上基于LWIP协议栈的移植实战,涵盖硬件连接、CubeMX配置、寄存器定制和调试技巧。重点解析了与主流PHY芯片的差异,提供了完整的避坑指南和优化建议,帮助开发者快速实现稳定可靠的嵌入式网络连接。

uber9的博客 538

python的datetime模块常用的语法和实例

④milliseconds:指定相差毫秒数值。③microseconds:指定相差微秒数。⑤minutes:指定相差分钟数值。②seconds:指定相差秒数。⑥hours:指定相差小时数值。⑦weeks:指定相差周数。①days:指定相差天数。

weixin_50853979的博客 2820

别再傻傻分不清PBR和NPR了!从《原神》到《双城之战》,聊聊游戏里那些让你眼前一亮的渲染风格

本文深入解析了PBR(基于物理的渲染)与NPR(非真实感渲染)在游戏视觉风格中的应用差异,通过《原神》和《双城之战》的案例,展示了两种渲染技术如何创造出截然不同的艺术效果。从技术原理到实战案例,帮助读者理解如何根据项目需求选择合适的渲染风格。

weixin_30425949的博客 146

Python_datetime库日常操作

0x00 获取当前日期时间 datetime库使用datetime.datetime.now()方法或datetime.datetime.today()来获得当前的时间,并使用方法strftime将获得的串转换为字符类型,此时可以以固定格式输出。 其用法为: import datetime time1 = datetime.datetime.now() time2 = datetime.datet...

AFCC_的博客(Web_Dog) 2941

把审批体验做成一体化:SAP Business Workflow 里的 Secondary Method、Before Method 与 After Method

摘要:SAP Business Workflow 中,Task 的 Secondary、Before 和 After 三类方法对提升审批体验和可追溯性至关重要。Secondary Method 可自动展示辅助信息(如审批时弹出排班报表),但需注意其独立会话特性;Before Method 适合预处理和审计留痕;After Method 确保收尾动作可靠执行。三类方法按特定顺序调用,且错误不影响主流程。合理使用这些方法能减少事务码切换,增强审计能力,优化用户体验。(149字)

2007 年 ~ 2025 年,深耕 SAP 技术 18 年 187

毕设-YOLOv8-OBB 实现自有数据集缺陷旋转检测全过程记录

这次项目让我深入理解了 YOLOv8-OBB 的原理和使用流程。步骤内容工具数据标注制作倾斜缺陷样本格式转换从 HBB 转换为 OBB模型训练使用 Ultralytics YOLOv8 OBBCLI 命令模型测试推理与结果可视化通过 OBB 模型,我的缺陷检测系统获得了更高的精度和鲁棒性。未来我打算继续优化数据增强方式,比如引入随机旋转、仿射变换等,让模型更适应不同角度的样本。

FJN110的博客 446

datetime库:Python日期与时间值管理计算

目录前言获取当前时间 前言 datetime库也用于时间日期的处理,主要用于完成日期和时间的解析,格式化和算术运算。本篇,将完整的介绍datetime库的应用知识。 获取当前时间 与time库一样,datetime库也有获取当前时间的函数:datetime.date.today()。通过该函数,也可以分离出具体的年月日时分秒等具体的时间值。 具体代码如下: 在这里插入代码片 ...

李元静 1万+

23种设计模式-中介者(Mediator)设计模式

软考中级-软件设计师 中介者设计模式

片言可决讼,半纸能缚龙 1863

[Python] datetime 库的使用

作为一只程序员,你是怎么看时间的呢?

一以贯之的努力 不得懈怠的人生 1万+

lwip-2.0.3

lwip是瑞典计算机科学院(SICS)的Adam Dunkels 开发的一个小型开源的TCP/IP协议栈。实现的重点是在保持TCP协议主要功能的基础上减少对RAM 的占用。

怀旧版电脑GBC模拟器

再现原版GBC掌机的界面,电脑运行连游戏界面都一样大小,很怀旧,很真实,(英文版)强烈推荐,很小的文件,很难才找到的。

python中datetime模块详解

一、datetime模块的五大类: datetime.date:表示日期的类,主要用于处理年、月、日; datetime.time:表示时间的类,主要用于处理时、分、秒; datetime.datetime:表示日期时间的类,date类和time类的综合使用,可以处理年、月、日、时、分、秒; datetime.timedelta:表示时间间隔,即两个时间点的间隔,主要用于做时间加减的 datetime.tzinfo:时区的相关信息。 1、date类: date类包含三个参数,分别为year,month,

吴大喜的博客 4万+

jre9下载 jdk9

(Java SE Runtime Environment 9.0) 9.0u175 官方最新版 【x86|x64】

Python中datetime模块之datetime类详解_datetime

### 静态方法datetime.today():返回一个表示当前本地时间的datetime对象datetime.now():返回一个表示当前本地时间的datetime对象datetime.utcnow():返回一个当前utc时间的datetime对象。

2401_86450001的博客 1156

深度学习工具包 DeepLearningToolbox

深度学习工具包Deprecation notice.-----This toolbox is outdated and no longer maintained.There are much better tools available for deep learning than this toolbox, e.g. [Theano](http://deeplearning.net/software/theano/), [torch](http://torch.ch/) or [tensorflow](http://www.tensorflow.org/)I would suggest you use one of the tools mentioned above rather than use this toolbox.Best, Rasmus.DeepLearnToolbox================A Matlab toolbox for Deep Learning.Deep Learning is a new subfield of machine learning that focuses on learning deep hierarchical models of data.It is inspired by the human brain's apparent deep (layered, hierarchical) architecture.A good overview of the theory of Deep Learning theory is[Learning Deep Architectures for AI](http://www.iro.umontreal.ca/~bengioy/papers/ftml_book.pdf)For a more informal introduction, see the following videos by Geoffrey Hinton and Andrew Ng.* [The Next Generation of Neural Networks](http://www.youtube.com/watch?v=AyzOUbkUf3M) (Hinton, 2007)* [Recent Developments in Deep Learning](http://www.youtube.com/watch?v=VdIURAu1-aU) (Hinton, 2010)* [Unsupervised Feature Learning and Deep Learning](http://www.youtube.com/watch?v=ZmNOAtZIgIk) (Ng, 2011)If you use this toolbox in your research please cite [Prediction as a candidate for learning deep hierarchical models of data](http://www2.imm.dtu.dk/pubdb/views/publication_details.php?id=6284)```@MASTERSTHESIS\{IMM2012-06284, author = "R. B. Palm", title = "Prediction as a candidate for learning deep hierarchical models of data", year = "2012",}```Contact: rasmusbergpalm at gmail dot comDirectories included in the toolbox-----------------------------------`NN/` - A library for Feedforward Backpropagation Neural Networks`CNN/` - A library for Convolutional Neural Networks`DBN/` - A library for Deep Belief Networks`SAE/` - A library for Stacked Auto-Encoders`CAE/` - A library for Convolutional Auto-Encoders`util/` - Utility functions used by the libraries`data/` - Data used by the examples`tests/` - unit tests to verify toolbox is workingFor references on each library check REFS.mdSetup-----1. Download.2. addpath(genpath('DeepLearnToolbox'));Example: Deep Belief Network---------------------```matlabfunction test_example_DBNload mnist_uint8;train_x = double(train_x) / 255;test_x = double(test_x) / 255;train_y = double(train_y);test_y = double(test_y);%% ex1 train a 100 hidden unit RBM and visualize its weightsrand('state',0)dbn.sizes = [100];opts.numepochs = 1;opts.batchsize = 100;opts.momentum = 0;opts.alpha = 1;dbn = dbnsetup(dbn, train_x, opts);dbn = dbntrain(dbn, train_x, opts);figure; visualize(dbn.rbm{1}.W'); % Visualize the RBM weights%% ex2 train a 100-100 hidden unit DBN and use its weights to initialize a NNrand('state',0)%train dbndbn.sizes = [100 100];opts.numepochs = 1;opts.batchsize = 100;opts.momentum = 0;opts.alpha = 1;dbn = dbnsetup(dbn, train_x, opts);dbn = dbntrain(dbn, train_x, opts);%unfold dbn to nnnn = dbnunfoldtonn(dbn, 10);nn.activation_function = 'sigm';%train nnopts.numepochs = 1;opts.batchsize = 100;nn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.10, 'Too big error');```Example: Stacked Auto-Encoders---------------------```matlabfunction test_example_SAEload mnist_uint8;train_x = double(train_x)/255;test_x = double(test_x)/255;train_y = double(train_y);test_y = double(test_y);%% ex1 train a 100 hidden unit SDAE and use it to initialize a FFNN% Setup and train a stacked denoising autoencoder (SDAE)rand('state',0)sae = saesetup([784 100]);sae.ae{1}.activation_function = 'sigm';sae.ae{1}.learningRate = 1;sae.ae{1}.inputZeroMaskedFraction = 0.5;opts.numepochs = 1;opts.batchsize = 100;sae = saetrain(sae, train_x, opts);visualize(sae.ae{1}.W{1}(:,2:end)')% Use the SDAE to initialize a FFNNnn = nnsetup([784 100 10]);nn.activation_function = 'sigm';nn.learningRate = 1;nn.W{1} = sae.ae{1}.W{1};% Train the FFNNopts.numepochs = 1;opts.batchsize = 100;nn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.16, 'Too big error');```Example: Convolutional Neural Nets---------------------```matlabfunction test_example_CNNload mnist_uint8;train_x = double(reshape(train_x',28,28,60000))/255;test_x = double(reshape(test_x',28,28,10000))/255;train_y = double(train_y');test_y = double(test_y');%% ex1 Train a 6c-2s-12c-2s Convolutional neural network %will run 1 epoch in about 200 second and get around 11% error. %With 100 epochs you'll get around 1.2% errorrand('state',0)cnn.layers = { struct('type', 'i') %input layer struct('type', 'c', 'outputmaps', 6, 'kernelsize', 5) %convolution layer struct('type', 's', 'scale', 2) %sub sampling layer struct('type', 'c', 'outputmaps', 12, 'kernelsize', 5) %convolution layer struct('type', 's', 'scale', 2) %subsampling layer};cnn = cnnsetup(cnn, train_x, train_y);opts.alpha = 1;opts.batchsize = 50;opts.numepochs = 1;cnn = cnntrain(cnn, train_x, train_y, opts);[er, bad] = cnntest(cnn, test_x, test_y);%plot mean squared errorfigure; plot(cnn.rL);assert(er<0.12, 'Too big error');```Example: Neural Networks---------------------```matlabfunction test_example_NNload mnist_uint8;train_x = double(train_x) / 255;test_x = double(test_x) / 255;train_y = double(train_y);test_y = double(test_y);% normalize[train_x, mu, sigma] = zscore(train_x);test_x = normalize(test_x, mu, sigma);%% ex1 vanilla neural netrand('state',0)nn = nnsetup([784 100 10]);opts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samples[nn, L] = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.08, 'Too big error');%% ex2 neural net with L2 weight decayrand('state',0)nn = nnsetup([784 100 10]);nn.weightPenaltyL2 = 1e-4; % L2 weight decayopts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samplesnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex3 neural net with dropoutrand('state',0)nn = nnsetup([784 100 10]);nn.dropoutFraction = 0.5; % Dropout fraction opts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samplesnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex4 neural net with sigmoid activation functionrand('state',0)nn = nnsetup([784 100 10]);nn.activation_function = 'sigm'; % Sigmoid activation functionnn.learningRate = 1; % Sigm require a lower learning rateopts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samplesnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex5 plotting functionalityrand('state',0)nn = nnsetup([784 20 10]);opts.numepochs = 5; % Number of full sweeps through datann.output = 'softmax'; % use softmax outputopts.batchsize = 1000; % Take a mean gradient step over this many samplesopts.plot = 1; % enable plottingnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex6 neural net with sigmoid activation and plotting of validation and training error% split training data into training and validation datavx = train_x(1:10000,:);tx = train_x(10001:end,:);vy = train_y(1:10000,:);ty = train_y(10001:end,:);rand('state',0)nn = nnsetup([784 20 10]); nn.output = 'softmax'; % use softmax outputopts.numepochs = 5; % Number of full sweeps through dataopts.batchsize = 1000; % Take a mean gradient step over this many samplesopts.plot = 1; % enable plottingnn = nntrain(nn, tx, ty, opts, vx, vy); % nntrain takes validation set as last two arguments (optionally)[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');```[![Bitdeli Badge](https://d2weczhvl823v0.cloudfront.net/rasmusbergpalm/deeplearntoolbox/trend.png)](https://bitdeli.com/free "Bitdeli Badge")

python中datetime的用法

python中datetime的用法 1、用法 #!/usr/bin/env python3 # -*- coding: utf-8 -*- import datetime dates = datetime.datetime(2020, 10, 31,12,13) print(dates.year) # 2020 print(dates.month) # 10 print(d...

qimowei的博客 4133

python datetime模块安装_Python datetime模块

一、简介在 python 中,datetime 是对日期数据进行处理的主要模块。无论何时你需要用 python 处理日期数据,datetime 都能提供所需方法。datetime 是 python 标准库的一部分,这意味着你无须单独安装它。你可以用如下语句直接导入:import datetimedatetime 模块共有以下类:datetime类date 类time 类timedelta 类二、获...

weixin_39611722的博客 9235

datetime只要年月python_Python日期的处理——datetime模块

本文作者:胡 婧文字编辑:杨慧琳技术总编:张学人好消息!!!爬虫俱乐部将于2019年7月5日至7月8日在武汉举行首期Python编程技术定制培训。本次培训采用理论与案例相结合的方式,旨在帮助零基础学员轻松入门Python,由浅入深学习和掌握Python爬虫技术,并明确未来更进一步的学习方向。详细培训大纲及报名方式,请点击文末阅读原文呦~Python中用于处理日期和时间的模块包括tim...

weixin_39582737的博客 7528

python datetime datetime_python datetime.datetime 时间转换

1、字符串转换为datetime.datetime:print(datetime.datetime.strptime("2020-07-09 18:21:17", "%Y-%m-%d %H:%M:%S"))输出:2020-07-09 18:21:172、tuple、list转换为datetime.datetime:datetime_list = [2020, 7, 10, 9, 40, 47]da...

weixin_39629969的博客 643

python datetime_python datetime.datetime 时间转换

1、字符串转换为datetime.datetime:print(datetime.datetime.strptime("2020-07-09 18:21:17", "%Y-%m-%d %H:%M:%S"))输出:2020-07-09 18:21:172、tuple、list转换为datetime.datetime:datetime_list = [2020, 7, 10, 9, 40, 47]da...

weixin_39620279的博客 957

python中的时间处理模块:datetime模块之datetime类详解

datetime模块 datatime模块是在time模块的基础之上做了封装,提供了更多更好用的类供我们使用,常用的有date、time、datetime、timedelta、tzinfo。但是为了更灵活的处理时间,最好是将time模块和datetime模块中的精髓学习到。 ① date类:主要用于处理年、月、日; ② time类:主要用于处理时、分、秒; ③ datetime类:date类和time类的综合使用,可以处理年、月、日、时、分、秒; ④ timedelta类:主要用于做时间加减的; ⑤ tz

qq_57196464的博客 2453

python datetime_Python之datetime模块

datatime模块重新封装了time模块,提供更多接口,提供的类有:date,time,datetime,timedelta,tzinfo。1、date类datetime.date(year, month, day)静态方法和字段date.max、date.min:date对象所能表示的最大、最小日期;date.resolution:date对象表示日期的最小单位。这里是天。date.today...

weixin_39996762的博客 119

python内置模块datetime.datetime类详细介绍

Python的datetime模块是一个强大的日期和时间处理库,它提供了多个类来处理日期和时间。主要包括几个功能类datetime.date、datetime.time、datetime.datetime、datetime.timedelta,datetime.timezone等。总结: datetime类的功能函数众多,大家不妨选择感兴趣的功能函数复制代码执行,看上去会更直观(以下代码均实际执行有效)。

kymppcds的博客 2478

python datetime怎么用_python中datetime使用

一、datetime模块timestamp在计算机中,时间实际上是用数字表示的。我们把1970年1月1日 00:00:00 UTC+00:00时区的时刻称为epoch time,记为0(1970年以前的时间timestamp为负数),当前时间就是相对于epoch time的秒数,称为timestamp。你可以认为:timestamp = 0 = 1970-1-1 00:00:00 UTC+0:00...

weixin_39876856的博客 528

python datetime格式_【Python】datetime库详解

datetime库概述datetime库定义了2个常量和5个类。2个常量分别是MINYEAR=1和MAXYEAR=9999。5个类分别是:date类:表示日期的类time类:表示时间的类datetime类:表示时间日期的类timedelta类:表示两个datetime对象的差值;tzinfo类:表示时区的相关信息datetime的5个类详解date类date类包含三个参数,分别为year,mont...

weixin_42522575的博客 1816
上一篇: ios framework通用库的制作
下一篇: python 字符串
lifreshman
博客等级 码龄17年 6粉丝 8原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值