作者:Syn良子 出处:http://www.cnblogs.com/cssdongl 转载请注明出处

需要用python的脚本来快速检测一个文件内的二个时间日期字符串的大小,其实实现很简单,首先一些基础的日期格式化知识如下

  1. '''
  2. %a星期的简写。如 星期三为Web
  3. %A星期的全写。如 星期三为Wednesday
  4. %b月份的简写。如4月份为Apr
  5. %B月份的全写。如4月份为April
  6. %c: 日期时间的字符串表示。(如: 04/07/10 10:43:39)
  7. %d: 日在这个月中的天数(是这个月的第几天)
  8. %f: 微秒(范围[0,999999])
  9. %H: 小时(24小时制,[0, 23])
  10. %I: 小时(12小时制,[0, 11])
  11. %j: 日在年中的天数 [001,366](是当年的第几天)
  12. %m: 月份([01,12])
  13. %M: 分钟([00,59])
  14. %p: AM或者PM
  15. %S: 秒(范围为[00,61],为什么不是[00, 59],参考python手册~_~)
  16. %U: 周在当年的周数当年的第几周),星期天作为周的第一天
  17. %w: 今天在这周的天数,范围为[0, 6],6表示星期天
  18. %W: 周在当年的周数(是当年的第几周),星期一作为周的第一天
  19. %x: 日期字符串(如:04/07/10)
  20. %X: 时间字符串(如:10:43:39)
  21. %y: 2个数字表示的年份
  22. %Y: 4个数字表示的年份
  23. %z: 与utc时间的间隔 (如果是本地时间,返回空字符串)
  24. %Z: 时区名称(如果是本地时间,返回空字符串)
  25. %%: %% => %
  26. '''

然后需要了解python中time,datetime,字符串时间之间的转换关系,如下代码是三者之间的转换关系

  1. jsontime = '2017-04-03'
  2. #string->time
  3. time.strptime(jsontime,"%Y-%m-%d")
  4. #string->datetime
  5. datetime.datetime.strptime(jsontime,"%Y-%m-%d")
  6. #time->string
  7. time.strftime("%y-%m-%d",time.localtime())

那么有了转换关系以后,比较大小就很容易了,比如我可以把日期字符串转换成time的时间戳来比较大小,如下

  1. import time
  2. def compare_time(time1,time2):
  3. s_time = time.mktime(time.strptime(time1,'%Y-%m-%d'))
  4. e_time = time.mktime(time.strptime(time2,'%Y-%m-%d'))
  5. print 's_time is:',s_time
  6. print 'e_time is:',e_time
  7. return int(s_time) - int(e_time)
  8.  
  9. result = compare_time('2017-04-17','2017-04-19')
  10. print 'the compare result is:',result

当然也可以利用datetime来比较字符串的大小

  1. import datetime
  2. d1 = datetime.datetime.strptime('2015-03-05 17:41:20', '%Y-%m-%d %H:%M:%S')
  3. d2 = datetime.datetime.strptime('2015-03-02 17:41:20', '%Y-%m-%d %H:%M:%S')
  4. delta = d1 - d2
  5. print delta.days

Python日期字符串比较的更多相关文章

  1. python 时间字符串与日期转化

    python 时间字符串与日期转化 datetime.datetime.strptime(string, format) 根据指定的格式解析字符串为一个datetime类型.相当于datetime.d ...

  2. python生成随机日期字符串

    python生成随机日期字符串 生成随机的日期字符串,用于插入数据库. 通过时间元组设定一个时间段,开始和结尾时间转换成时间戳. 时间戳中随机取一个,再生成时间元组,再把时间元组格式化输出为字符串 # ...

  3. python时间日期字符串各种

    python时间日期字符串各种 第一种 字符串转换成各种日期 time 库 # -*- coding: utf-8 -*- import time, datetime # 字符类型的时间 tss1 = ...

  4. python 日期、时间、字符串相互转换

    python 日期.时间.字符串相互转换 在python中,日期类型date和日期时间类型dateTime是不能比较的. (1)如果要比较,可以将dateTime转换为date,date不能直接转换为 ...

  5. 使用Python将字符串转换为格式化的日期时间字符串

    我正在尝试将字符串“20091229050936”转换为“2009年12月29日(UTC)” >>>import time >>>s = time.strptime ...

  6. python 日期相关的各种操作总结

    用 Python 做项目时,经常会遇到与日期转换相关,日期计算相关的功能,动不动就要去查python手册,感觉麻烦,因此把自己常用的一些东西,总结了一下,总体说来到目前为止遇到如下一些需求: 1. 用 ...

  7. Python 日期和时间(转)

    Python 日期和时间 Python程序能用很多方式处理日期和时间.转换日期格式是一个常见的例行琐事.Python有一个 time 和 calendar 模组可以帮忙. 什么是Tick? 时间间隔是 ...

  8. (转)Python 日期和时间

    转自http://www.runoob.com/python/python-date-time.html Python 日期和时间 Python 程序能用很多方式处理日期和时间,转换日期格式是一个常见 ...

  9. 【转载】Python日期时间模块datetime详解与Python 日期时间的比较,计算实例代码

    本文转载自脚本之家,源网址为:https://www.jb51.net/article/147429.htm 一.Python中日期时间模块datetime介绍 (一).datetime模块中包含如下 ...

随机推荐

  1. POJ 2567 Code the Tree & POJ 2568 Decode the Tree Prufer序列

    题目大意:2567是给出一棵树,让你求出它的Prufer序列.2568时给出一个Prufer序列,求出这个树. 思路:首先要知道Prufer序列.对于随意一个无根树,每次去掉一个编号最小的叶子节点,并 ...

  2. 判断uiscrollView滑到底部

     本文转载至 http://blog.csdn.net/cerastes/article/details/39612177 -(void)scrollViewDidScroll:(UIScrollVi ...

  3. 《C++ Primer Plus》第3章 处理数据 学习笔记

    C++的基本类型分为两组:一组由存储为证书的值组成,另一组由存储为浮点格式的值组成.整型之间通过存储键值时使用的呢存及有无符号来区分.整型从最小到最大依次是:bool,char,signed char ...

  4. C++编译遇到参数错误(cannot convert parameter * from 'const char [**]' to 'LPCWSTR')

    转:http://blog.sina.com.cn/s/blog_9ffcd5dc01014nw9.html 前面的几天一直都在复习着被实习落下的C++基础知识.今天在复习着上次创建的窗口程序时,出现 ...

  5. klg-jpa:spring-data-jpa 最佳实践

    klg-jpa:spring-data-jpa 最佳实践 项目介绍 码云地址:https://gitee.com/klguang/klg-jpa JPA是sun为POJO持久化制定的标准规范,用来操作 ...

  6. R语言中聚类确定最佳K值之Calinsky criterion

    Calinski-Harabasz准则有时称为方差比准则 (VRC),它可以用来确定聚类的最佳K值.Calinski Harabasz 指数定义为: 其中,K是聚类数,N是样本数,SSB是组与组之间的 ...

  7. JavaWeb基于session和cookie的数据共享

    在了解session和cookie技术之前,我们需要先了解一下什么是会话?会话可以简单理解为用户打开一个浏览器,点击多个超链接,访问服务器的多个web资源,然后关闭浏览器,整个过程称为一个会话.这样, ...

  8. Macbook pro 13" Installs Ubuntu 18.04

    最新版的 MacBook对Ubuntu的支持(或者反过来?)不是很好,但是除了Suspend和resume功能没找到方法使用外,其他都还好,可用. 1.mac在OSX中先安装refind引导,如果开启 ...

  9. 剑指Offer——序列化二叉树

    题目描述: 请实现两个函数,分别用来序列化和反序列化二叉树 分析: 先序遍历可以用来序列化二叉树,序列化过程中,我们用“0xFFFFFFFF”表示结点为NULL. 反序列化便很简单,遇到“0xFFFF ...

  10. 【react map函数】

    {...runInfos.map((rowinfo) => { console.log(rowinfo); })}