【问题标题】:Python timestamp to time since conversion自转换以来的 Python 时间戳
【发布时间】:2017-08-09 02:14:19
【问题描述】:

我有一个数据库列,其中包含 UNIX 格式的时间戳,我正在寻找一种方法将这些时间戳与现在的时间戳进行比较,并打印自原始时间戳以来的秒数/小时数/天数。

只是为了确认我不是在寻找从 148975745603/17/2017 @ 1:30pm 的转换。我正在寻找从14897574561m ago/2hr ago/3d ago 等的转换。

【问题讨论】:

    标签: python mysql unix timestamp


    【解决方案1】:
    datetime.datetime.fromtimestamp() 
    

    将您的 unix 时间戳转换为 datetitme

    datetime.datetime.now() 
    

    获取当前日期时间

    dateutil.relativedelta.relativedelta(dt1, dt2, ...) 
    

    获取闰年的差异。

    参考文献

    【讨论】:

      【解决方案2】:

      函数,像这样会根据秒数生成小时、分钟和秒的输出。

      def secondsToHms(d):
          d = int(d);
          h = math.floor(d / 3600)
          m = math.floor(d % 3600 / 60)
          s = math.floor(d % 3600 % 60)
      
          htext = " hour, " if h == 1 else " hours, "
          hDisplay = str(h) + htext if h > 0 else ""
          mtext = " minute, " if m == 1 else " minutes, "
          mDisplay = str(m) + mtext if  m > 0 else ""
          stext = " second" if s == 1 else " seconds"
          sDisplay = str(s) + stext if s > 0 else ""
          return hDisplay + mDisplay + sDisplay; 
      

      例如:

      secondsToHms(344334)
      >> 95.0 hours, 38.0 minutes, 54.0 seconds
      

      因此,您可以添加您喜欢的格式,也可以根据需要以类似方式添加天/月。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2013-08-19
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2013-08-15
        • 1970-01-01
        相关资源
        最近更新 更多