解决python 两个时间戳相减出现结果错误的问题

如下所示:

两个时间相差一整天,结果却是相差时间为零 !!!!

这里是使用错误, .seconds只会计算 小时分钟秒 部分之间的差值

在这里使用total_seconds() 才是计算两个时间戳之间的相差时间

补充:Python 时间字符串、时间戳之间的转换,时间的加减

1、字符串转时间戳

import time
str_time = "20200713203740"
time_temp = time.strptime(str_time, "%Y%m%d%H%M%S") # 字符串格式化成时间格式
time_stamp = time.mktime(time_temp)         # 格式化后的时间转换成时间戳

print(time_temp)
print(time_stamp)

结果如下:

time.struct_time(tm_year=2020, tm_mon=7, tm_mday=13, tm_hour=20, tm_min=37, tm_sec=40, tm_wday=0, tm_yday=195, tm_isdst=-1) 1594643860.0

2、时间戳转时间字符串

from datetime import datetime
x = 1594643860
y_m_d = datetime.fromtimestamp(x).strftime('%Y%m%d')
h_s_m = datetime.fromtimestamp(x).strftime('%H:%S:%M')
print(y_m_d)
print(h_s_m)

20200713

20:40:37

3、时间加天数

import datetime
# 将时间字符串转换成格式化的时间格式
time = "20190617 00:00:00"
time = datetime.datetime.strptime(time, "%Y%m%d %H:%M:%S")

# 在原来的时间上加6天
time = time + datetime.timedelta(days=6)
print(time)

# 将格式化的时间格式,转换成时间字符串
timestr = datetime.datetime.strftime(time, "%Y%m%d %H:%M:%S")
print(timestr)

2019-06-23 00:00:00

20190623 00:00:00

以上为个人经验,希望能给大家一个参考,也希望大家多多支持我们。如有错误或未考虑完全的地方,望不吝赐教。

(0)

相关推荐

  • 基于python获取本地时间并转换时间戳和日期格式

    附上代码与运行结果截图: import time # 获取当前时间 now = time.localtime() # 格式化日期 now_ = time.strftime('%Y-%m-%d %H:%M:%S', now) # 获取当前时间,以时间戳格式 now_stamp = time.time() # 日期转时间戳 change_to_stamp = time.mktime(time.strptime(now_, "%Y-%m-%d %H:%M:%S")) # 时间戳转日期 cha

  • python3 中时间戳、时间、日期的转换和加减操作

    1.当前时间戳转换为指定格式的日期 # -*- coding: utf-8 -*- # @Time : 2019/5/31 10:56 # @Author : 甄超锋 # @Email : 4535@sohu.com # @File : test.py # @Software: PyCharm import datetime import time # 使用time timeStamp = time.time() # 1559286774.2953627 timeArray = time.loc

  • python获取时间戳的实现示例(10位和13位)

    在python 开发web程序时,需要调用第三方的相关接口,在调用时,需要对请求进行签名.需要用到unix时间戳.  在python里,在网上介绍的很多方法,得到的时间戳是10位.而java里默认是13位(milliseconds,毫秒级的). 下面介绍python获得时间戳的方法: 1.10时间戳获取方法: >>> import time >>> t = time.time() >>> print t 1436428326.76 >>&g

  • Python sqlalchemy时间戳及密码管理实现代码详解

    一.时间戳 实际开发中,我们一般希望create_time和update_time这两个属性能自动设置,所以在建表的时候需要在model上特殊处理一下: from sqlalchemy.sql import func class User(db.Model): __tablename__ = 'user' id = db.Column(db.Integer, primary_key = True) email = db.Column(db.String(128)) password_hash =

  • python如何快速生成时间戳

    import time now_time = time.time() print(now_time) 结果是 1594604269.1730552 知识点扩展: 获取秒级时间戳与毫秒级时间戳.微秒级时间戳 import time import datetime t = time.time() print (t) #原始时间数据 print (int(t)) #秒级时间戳 print (int(round(t * 1000))) #毫秒级时间戳 print (int(round(t * 10000

  • python和node.js生成当前时间戳的示例

    Python # coding=utf-8 import time import sys def func(): # 格式化输出时间 s1 = int(time.strftime("%Y%m%d%H%M%S", time.localtime())) # 时间戳,由于默认是秒需要转换为毫秒输出 s2 = int(round(time.time() * 1000)) return s1, s2 def once(): '''如果没有指明命令行参数则运行一次''' s1, s2 = func

  • 解决python 两个时间戳相减出现结果错误的问题

    如下所示: 两个时间相差一整天,结果却是相差时间为零 !!!! 这里是使用错误, .seconds只会计算 小时分钟秒 部分之间的差值 在这里使用total_seconds() 才是计算两个时间戳之间的相差时间 补充:Python 时间字符串.时间戳之间的转换,时间的加减 1.字符串转时间戳 import time str_time = "20200713203740" time_temp = time.strptime(str_time, "%Y%m%d%H%M%S&quo

  • C#实现两个时间相减的方法

    本文实例讲述了C#实现两个时间相减的方法.分享给大家供大家参考.具体实现方法如下: 复制代码 代码如下: using System;  using System.Collections.Generic;  using System.Linq;  using System.Text;    namespace Test  {      class Program      {          static void Main(string[] args)          {          

  • 在dataframe两列日期相减并且得到具体的月数实例

    如下所示: df = pd.DataFrame(np.random.randn(6,4), index=pd.date_range('20130101', periods=6), columns=list('ABCD')) df.A = pd.date_range('20160101', periods=6) print (df) df1 = pd.DataFrame(np.random.randn(6,4), index=pd.date_range('20130101', periods=6)

  • pandas 两列时间相减换算为秒的方法

    如下所示: pd.to_datetime(data[data['last_O_XLMC']==data['O_XLMC']]['O_SJFCSJ'], format='%H:%M:%S')-pd.to_datetime(data['last_O_SJFCSJ'], format='%H:%M:%S')).dt.total_seconds() 以上这篇pandas 两列时间相减换算为秒的方法就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持我们.

  • 解决python写入带有中文的字符到文件错误的问题

    在python写脚本过程中需要将带有中文的字符串内容写入文件,出现了报错的现象. ---------------------------- UnicodeEncodeError: 'ascii' codec can't encode characters in position 0-1: ordinal not in range(128) ---------------------------- 经过网上搜索出错原因得到结果: python中如果使用系统默认的open方法打开的文件只能写入asc

  • Python两个整数相除得到浮点数值的方法

    在python中进行两个整数相除的时候,在默认情况下都是只能够得到整数的值,而在需要进行对除所得的结果进行精确地求值时,想在运算后即得到浮点值,那么如何进行处理呢? 1.修改被除数的值为带小数点的形式即可得到浮点值,这种方法在被除数事先知道的情况下才可以采用有效,而这种情况意味着被除数的值是写死的.固定的,在绝大多数的情况下是不可行的: 2.在进行除法运算前导入一个实除法的模块,即可在两个整数进行相除的时候得到浮点的结果; 复制代码 代码如下: from __future__ import di

  • 解决numpy矩阵相减出现的负值自动转正值的问题

    问题描述 今天在使用Numpy中的矩阵做相减操作时,出现了一些本应为负值的位置自动转换为了正值, 观察发现转换后的正值为原本的负值加上256得到,具体情况如下: 正常情况矩阵相减样例如下 >>> import numpy as np >>> arr = np.array([98,100,103,161,192,210]) >>> brr = np.array([105,105,106,197,196,195]) >>> crr = a

  • JS计算两个时间相差分钟数的方法示例

    本文实例讲述了JS计算两个时间相差分钟数的方法.分享给大家供大家参考,具体如下: <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <he

  • mysql时间相减如何获取秒值

    目录 mysql时间戳转换 有以下3种方法 总结 mysql时间戳转换 select unix_timestamp(); 获取当前时间的时间戳 SELECT FROM_UNIXTIME(1529999834); 时间戳转换为北京时间 要得到正确的时间相减秒值 有以下3种方法 1.time_to_sec(timediff(t2, t1)), 2.timestampdiff(second, t1, t2), 3.unix_timestamp(t2) -unix_timestamp(t1) SELEC

  • 易语言相减命令使用讲解

    相减命令 操作系统支持:Windows.Linux.Unix  所属类别:算术运算 返回两个数值的差,运算符号为"-". 语法:  双精度小数型  相减(被减数,减数,- ) 例程 说明: 将被减数编辑框的内容和减数编辑框的内容转换到数值型,再将两个数值相减. 把返回的内容转换成文本型,放入相减标签的标题中. 运行结果: 总结 以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作具有一定的参考学习价值,谢谢大家对我们的支持.如果你想了解更多相关内容请查看下面相关链接

随机推荐