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

1. 用python 把datetime转成字符串

2. 用python 把字符串转成datetime

3. 用python 把字符串转成时间戳形式

4. 用python 把时间戳转成字符串形式

5. 用python 把把datetime类型转外时间戳形式

6. 用python 计算两个日期之间的差

7. 用python 计算两个日期的 timestamp 差值

8. 用python 比较两个日期的大小

9. 指定日期加上 一个时间段,天,小时,或分钟之后的日期

下面是测试代码:

#coding:utf-8
'''
base on python 2.7
Created on 2012-12-14
@author: yiahomen.com
'''
import datetime
import time def datetime_toString(dt):
"""把datetime转成字符串"""
return dt.strftime("%Y-%m-%d") def string_toDatetime(string):
"""把字符串转成datetime"""
return datetime.datetime.strptime(string, "%Y-%m-%d") def string_toTimestamp(strTime):
"""把字符串转成时间戳形式"""
return time.mktime(string_toDatetime(strTime).timetuple()) def timestamp_toString(stamp):
"""把时间戳转成字符串形式"""
return time.strftime("%Y-%m-%d-%H", time.localtime(stamp)) def datetime_toTimestamp(dateTime):
"""把datetime类型转外时间戳形式"""
return time.mktime(dateTime.timetuple()) def substract_DateTime(dateStr1,dateStr2):
""" 返回两个日期之间的差 """
d1=string_toDatetime(dateStr1)
d2=string_toDatetime(dateStr2)
return d2-d1 def substract_TimeStamp(dateStr1,dateStr2):
""" 两个日期的 timestamp 差值 """
ts1= string_toTimestamp(dateStr1)
ts2= string_toTimestamp(dateStr2)
return ts1-ts2 def compare_dateTime(dateStr1,dateStr2):
"""两个日期的比较, 当然也可以用timestamep方法比较,都可以实现."""
date1 = string_toDatetime(dateStr1)
date2 = string_toDatetime(dateStr2)
return date1.date()>date2.date() def dateTime_Add(dateStr,days=0,hours=0,minutes=0):
""" 指定日期加上 一个时间段,天,小时,或分钟之后的日期 """
date1= string_toDatetime(dateStr)
return date1+datetime.timedelta(days=days,hours=hours,minutes=minutes) if __name__=='__main__':
print substract_DateTime('2012-12-12','2012-01-01')
#-346 days, 0:00:00
print substract_DateTime('2012-12-12','2012-01-01').days
#-346
print substract_TimeStamp('2012-12-12','2012-01-01')
#29894400.0
print substract_TimeStamp('2012-12-12','2012-01-01')/(24*60*60),'天'
#346.0 天
print compare_dateTime('2012-12-12','2012-01-01')
#True
print dateTime_Add('2012-12-12',days=10,hours=5,minutes=10)
#2012-12-22 05:10:00

python 日期相关的各种操作总结的更多相关文章

  1. python 日期相关

    基本的日期与时间转换 问题 你需要执行简单的时间转换,比如天到秒,小时到分钟等的转换. 解决方案 为了执行不同时间单位的转换和计算,请使用 datetime 模块. 比如,为了表示一个时间段,可以创建 ...

  2. python中跟字符串相关的一些操作

    公司让用python自动生成代码,以前没看过python.所以匆匆的看了两天python就连猜带蒙就上马开干了..因此好多操作可能看的时候看懂了,用的时候知道有这么个东西,具体用法就忘记了..用到了就 ...

  3. python文件相关操作

    Python文件相关操作 打开文件 打开文件,采用open方法,会将文件的句柄返回,如下: f = open('test_file.txt','r',encoding='utf-8') 在上面的代码中 ...

  4. python time 和日期相关模块

    时间日期相关的模块 calendar 日历模块 time 时间模块 datetime 日期时间模块 timeit 时间检测模块 日历模块 calendar() 功能:获取指定年份的日历字符串 格式:c ...

  5. Java 各种时间日期相关的操作

    目录 1.获取当前时间的时间戳 1.1.时间进制 1.2.获取毫秒级时间戳 1.3.获取纳秒级时间戳 2.java.util包 2.1.Data 2.2.Calendar 3.java.time包 3 ...

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

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

  7. 【转】Python之文件与目录操作(os、zipfile、tarfile、shutil)

    [转]Python之文件与目录操作(os.zipfile.tarfile.shutil) Python中可以用于对文件和目录进行操作的内置模块包括: 模块/函数名称 功能描述 open()函数 文件读 ...

  8. Python 日期时间处理模块学习笔记

    来自:标点符的<Python 日期时间处理模块学习笔记> Python的时间处理模块在日常的使用中用的不是非常的多,但是使用的时候基本上都是要查资料,还是有些麻烦的,梳理下,便于以后方便的 ...

  9. Python 日期和时间 —— datetime

    Python 日期和时间 —— datetime Python提供了多个内置模块用于操作日期时间,如calendar,time,datetime.calendar用于处理日历相关 :time提供的接口 ...

随机推荐

  1. OpenStack虚拟机DHCP获取不到IP地址排查

    版本:OpenStack Liberty Neutron DVR 现象: 1.在虚拟机内部不停地dhclient 2.在虚拟机所属的计算节点的物理网卡上抓包,发现该虚拟机发出的dhcp广播包 3.在虚 ...

  2. ios系统(苹果手机)按钮显示为圆角和渐变的问题

    按钮在安卓手机上显示正常,但在苹果手机上会显示如下: 解决办法:给该按钮的样式加上:-webkit-appearance:none;这样按钮就会显示正常

  3. Xcode8 上传完.ipa包 官网超过2天还没反应

    出现这个问题一般邮件有提示,我这里说一下,我之前都上传没有问题,就更新完Xcode8,就不行. 这个问题其实是因为权限没有写完  这样就可以了.

  4. CGGeometry类定义几何元素的结构和操作几何元素的函数。

    1.数据类型: CGFloat: 浮点值的基本类型CGPoint: 表示一个二维坐标系中的点CGSize: 表示一个矩形的宽度和高度CGRect: 表示一个矩形的位置和大小 typedef float ...

  5. 修改phpcms会员登录后头部登陆条的会员名称不带括号

    phpcms会员登录后显示会员名称是带括号的,现在把他修改成不带括号. 找到函数库libs/functions/global.func.php,修改如下即可: function get_nicknam ...

  6. mysql 联合索引和唯一索引

    一般来说.如果有where a=? and b=? and c=? 的语句. 如果表也有DML, 我一般只在a 上建索引.  这也是代价平衡的结果. 一方面 只在a 上建索引那么是 index ran ...

  7. coderforces #387 Servers(模拟)

    Servers time limit per test 2 seconds memory limit per test 256 megabytes input standard input outpu ...

  8. python未知网卡名情况下获取本机IP

    import socket def get_ip(): s = socket.socket(socket.AF_INET, socket.SOCK_DGRAM) try: # doesn't even ...

  9. Java注释

    注释:用于注解说明解释程序的文字.提高了代码的阅读性. 一:单行注释 "//注释文字" 二:多行注释 "/*注释文字*/" 三:文档格式 "/**注释 ...

  10. (转)如何进行Monkey Test

    如何进行Monkey Test   目录 一 简介 二 测试准备 三 基本命令格式 四 测试Log获取 五 Monkey命令参数介绍 六 保存monkey log以及手机log到sdcard(新增) ...