python日期相关操作实例小结

作者:轻舞肥羊 时间:2021-07-14 18:39:13 

本文实例讲述了python日期相关操作。分享给大家供大家参考,具体如下:

用 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

备注:根据当前日期,对年月进行加减的方法


import calendar, datetime
def increment_month(when):
 days = calendar.monthrange(when.year, when.month)[1]
 return when + datetime.timedelta(days=days)
now = datetime.datetime.now()
print 'It is now %s' % now
print 'In a month, it will be %s' % increment_month(now)

PS:这里再为大家推荐几款关于日期与天数计算的在线工具供大家使用:

在线日期/天数计算器:
http://tools.jb51.net/jisuanqi/date_jisuanqi

在线万年历日历:
http://tools.jb51.net/bianmin/wannianli

在线阴历/阳历转换工具:
http://tools.jb51.net/bianmin/yinli2yangli

Unix时间戳(timestamp)转换工具:
http://tools.jb51.net/code/unixtime

希望本文所述对大家Python程序设计有所帮助。

来源:http://www.yihaomen.com/article/python/330.htm

标签:python,日期
0
投稿

猜你喜欢

  • Spring boot连接MySQL 8.0可能出现的问题

    2024-01-17 17:04:28
  • asp 使用正则表达式替换word中的标签,转为纯文本

    2011-02-28 10:49:00
  • mysql 5.7.12 winx64安装配置方法图文教程

    2024-01-28 15:53:26
  • vue实现菜单切换功能

    2024-05-03 15:12:08
  • Pycharm直接使用远程服务器代码并调试的解决方法

    2021-05-13 10:21:03
  • PHP实现获取两个以逗号分割的字符串的并集

    2023-06-01 03:24:53
  • 如何HttpServletRequest文件对象并储存

    2024-04-19 10:14:12
  • 小程序云开发实战小结

    2024-06-18 12:12:03
  • MySQL分页优化解析

    2008-12-22 14:56:00
  • python使用ctypes模块调用windowsapi获取系统版本示例

    2023-05-04 08:46:48
  • python爬虫字体加密的解决

    2021-02-22 12:25:57
  • Python实现的生产者、消费者问题完整实例

    2022-08-15 14:37:30
  • ajax的responseText乱码的问题的解决方法

    2024-06-05 09:21:28
  • Python爬虫分析微博热搜关键词的实现代码

    2022-11-29 16:13:44
  • python中map的基本用法示例

    2023-09-24 15:56:26
  • PHP 用数组降低程序的时间复杂度

    2023-10-08 11:38:03
  • 从长尾理论和二八定律的比较去看用户体验

    2009-07-22 19:11:00
  • Python遍历pandas数据方法总结

    2022-04-23 05:47:58
  • python3下pygame如何实现显示中文

    2021-01-15 00:57:04
  • SQL查询语句执行的过程

    2024-01-22 21:51:02
  • asp之家 网络编程 m.aspxhome.com