python中时间的减法问题

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了python中时间的减法问题相关的知识,希望对你有一定的参考价值。

提取excel文件中的两列时间数据然后实现月份的相减?每个月按30天算。请问怎么转换时间啊?

python日期加减
Python 中日期类型是datetime.date
日期加减的结果,以及可以对日期相加减的类型是datetime.timedelta

timedelta = date1 - date2
date1 = date2 + timedelta

datetime.timedelta(days, seconds, microseconds)

d1 = datetime.date.today()
加一天:

d2 = d1 + datetime.timedelta(1)

减一天:

d2 = d1 + datetime.timedelta(-1)

python 如何计算时间差
Python Tip]如何计算时间差
Q:如何方便的计算两个时间的差,如两个时间相差几天,几小时等
A:使用datetime模块可以很方便的解决这个问题,举例如下:
>>> import datetime
>>> d1 = datetime.datetime(2005, 2, 16)
>>> d2 = datetime.datetime(2004, 12, 31)
>>> (d1 – d2).days
47
上例演示了计算两个日期相差天数的计算。
import datetime
starttime = datetime.datetime.now()
#long running
endtime = datetime.datetime.now()
print (endtime – starttime).seconds
上例演示了计算运行时间的例子,以秒进行显示。
>>> d1 = datetime.datetime.now()
>>> d3 = d1 + datetime.timedelta(hours=10)
>>> d3.ctime()
上例演示了计算当前时间向后10小时的时间。
其本上常用的类有:datetime和timedelta两个。它们之间可以相互加减。每个类都有一些方法和属性可以查看具体的值,如datetime可以查看:天数(day),小时数(hour),星期几(weekday())等;timedelta可以查看:天数(days),秒数(seconds)等。追问

我要从excel里面直接提取时间,那个datetime.datetime(2005, 2, 16),括号里面只能写具体的数字吗。我要excel里的数据怎么弄?

参考技术A 1、使用timedelta就可以直接进行运算。
datetime.timedelta(days=0, seconds=0, microseconds=0, milliseconds=0, minutes=0, hours=0, weeks=0)
timedelta可以传入天数、小时、分、秒、星期、毫秒等。
2、日期要进行运算,我们需要将字符串转换成日期格式,就需要用到datetime的strptime
使用格式为datetime.strptime(date_string, format)

英语中时间的表达方法

1.直接法:
6:10 six ten
4:30 four thirty
2:40two forty
2.逆读法:
①半小时以内:分钟+past+小时
6:10 ten past six
3:20 twenty past three
5:14 fourteen past five
②超过半小时:(相差的)分钟+to+(下一)小时
10:35 twenty-five to eleven
4:50 ten to five
6:45 fifteen to seven(a quarter to seven)
3.恰好半个小时:half past+小时
11:30 half past eleven
6:30 half past six
4.有关15分钟
9:15 a quarter to nine
3:45 a quarter to four
5.noon和midnight
It‘s (twelve)noon.中午十二点
it‘s (twelve)midnight.晚上十二点

以上是关于python中时间的减法问题的主要内容,如果未能解决你的问题,请参考以下文章

python中时间的基本使用

在猫鼬中存储一天中时间的最佳方式

Spring-Data-Rest中时间的数据类型

js中时间的处理

Python3教程:在python/Shell/MySQL中时间获取与格式转换的方法总结

java中时间的规范是按美国,SimpleDateFormat怎么处理