Python时间戳与日期格式之间相互转化的详细教程

目录
  • 绪论
  • 一、获取当前日期,转为10位或13位时间戳
  • 二、将10位或13位时间戳转为日期格式(年-月-日 时-分-秒)
  • 总结

绪论

java默认精度是毫秒级别的,生成的时间戳是13位,而python默认是10位的,精度是秒。那么python是如何生成13位时间戳,以及时间戳如何转换为日期(年-月-日 时-分-秒)

  • 13位是毫秒时间戳(难点: 输入毫秒级的时间,转出正常格式的时间)
  • 10位是秒时间戳。

Python实现【时间戳】与【日期格式】之间相互转化的应用函数汇总表:

Python函数 功能 示例
time.time() 获取当前时间 1655179674.911647
int(time.time()) 获取精确到秒时间戳,10位 1655179674
int(round(time.time() * 1000)) 获取精确毫秒时间戳,13位 1655179674912
time.localtime(k1) 将10位时间戳k1转为日期格式 time.struct_time(tm_year=2022, tm_mon=6, tm_mday=11, tm_hour=18, tm_min=19, tm_sec=48, tm_wday=5, tm_yday=162, tm_isdst=0)
time.strftime(“%Y-%m-%d %H:%M:%S”, time.localtime(k1)) 将10位时间戳k1转为【年-月-日 时-分-秒】日期格式 2019-09-02 16:19:35
time.localtime(k1/1000) 将13位时间戳k1转为日期格式 time.struct_time(tm_year=2022, tm_mon=6, tm_mday=11, tm_hour=18, tm_min=19, tm_sec=48, tm_wday=5, tm_yday=162, tm_isdst=0)
time.strftime(“%Y-%m-%d %H:%M:%S”, time.localtime(k1/1000)) 将13位时间戳k1转为【年-月-日 时-分-秒】日期格式 2019-09-02 16:19:35

一、获取当前日期,转为10位或13位时间戳

  • 自定义函数1 get_second():python获取精确到秒时间戳,10位
  • 自定义函数2 get_millisecond():python获取精确毫秒时间戳,13位
  • 自定义函数3 get_delta(t1,t2):两个时间戳相减,返回秒数
# -*- coding:utf-8 -*-

import time

# 获取当前日期,转为10位时间戳格式
def get_second():
    """
    :return: 获取精确到秒时间戳,10位
    """
    return int(time.time())

# 获取当前日期,转为13位时间戳格式
def get_millisecond():
    """
    :return: 获取精确毫秒时间戳,13位
    """
    millis = int(round(time.time() * 1000))
    return millis

# 两个13位的时间戳相减,返回秒数
def get_delta(t1,t2):
    """
    :param t1: 13位时间戳
    :param t2: 13位时间戳
    :return: 两个时间戳相减,返回秒数
    """
    res=int((t2 - t1)/1000)
    return res

if __name__ == "__main__":
    print(get_second())  # 获取当前时间,并转为10位时间戳格式
    >>>
    1655179674
    print(time.time())   # 直接打印全量精度的时间戳
    >>>
    1655179674.911647
    time1=get_millisecond()
    print(time1)    # 获取当前时间,并转为13位时间戳格式
    >>>
    1655179674912
    # 两个13位时间戳作差运算
    k1=1567412375458
    k2=1567412395853

    now = int(round(time.time() * 1000))
    print(now)
    >>>
    1655179674913
    t1 = time.strftime('%Y-%m-%d %H:%M:%S',time.localtime(k1/1000))
    t2=time.strftime('%Y-%m-%d %H:%M:%S',time.localtime(k2/1000))
    print(t1)
    >>>
    2019-09-02 16:19:35
    print(t2)
    >>>
    2019-09-02 16:19:55
    print(get_delta(k1,k2))
    >>>
    20

二、将10位或13位时间戳转为日期格式(年-月-日 时-分-秒)

函数4 millisecond_to_time(millis):13位时间戳转换为日期格式字符串

import time

# 输入毫秒级的时间,转出正常格式的时间
def timeStamp(timeNum):
    timeStamp = float(timeNum/1000)
    timeArray = time.localtime(timeStamp)
    otherStyleTime = time.strftime("%Y-%m-%d %H:%M:%S", timeArray)
    print(otherStyleTime)

time_st = 1654942788469  # 随机指定时间戳
timeStamp(time_st)  # 调用函数
>>>
2022-06-11 18:19:48

参考链接:【1】在线时间转换工具:http://tools.jb51.net/code/unixtime

总结

到此这篇关于Python时间戳与日期格式之间相互转化的文章就介绍到这了,更多相关Python时间戳与日期格式转化内容请搜索我们以前的文章或继续浏览下面的相关文章希望大家以后多多支持我们!

(0)

相关推荐

  • Python 转换时间戳为指定格式日期

    目录 当前时间 实例1: 实例2: 指定时间戳 实例1: 实例2: 总结 我们将会启用到time库: 当前时间 实例1: import time # 获得当前时间时间戳 now = int(time.time()) #转换为其他日期格式,如:"%Y-%m-%d %H:%M:%S" timeArray = time.localtime(now) otherStyleTime = time.strftime("%Y-%m-%d %H:%M:%S", timeArray)

  • Python3时间转换之时间戳转换为指定格式的日期方法详解

    在写Python的时候经常会遇到时间格式的问题,首先就是最近用到的时间戳(timestamp)和时间字符串之间的转换.所谓时间戳,就是从 1970年1月1日 00:00:00 到现在的秒数.原来我也写过关于python3里面如何进行时间转换. 在Python里,时间戳可以通过 time 模块里的 time() 方法获得,比如: import time timestamp = time.time() print(timestamp) 输出结果: 1551077515.952753 这个数可以这么理

  • 基于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日期与时间戳转换的几种方法详解

    日期和时间的相互转换可以利用Python内置模块 time 和 datetime 完成,且有多种方法供我们选择,当然转换时我们可以直接利用当前时间或指定的字符串格式的时间格式. 获取当前时间转换 我们可以利用内置模块 datetime 获取当前时间,然后将其转换为对应的时间戳. import datetime import time # 获取当前时间 dtime = datetime.datetime.now() un_time = time.mktime(dtime.timetuple())

  • python中时间、日期、时间戳的转换的实现方法

    1.简介 在编写代码时,往往涉及时间.日期.时间戳的相互转换. 2.示例 # 引入模块 import time, datetime 2.1 str类型的日期转换为时间戳 # 字符类型的时间 tss1 = '2013-10-10 23:40:00' # 转为时间数组 timeArray = time.strptime(tss1, "%Y-%m-%d %H:%M:%S") print timeArray # timeArray可以调用tm_year等 print timeArray.tm_

  • 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日期与时间戳的各种转换示例

    官方文档的示例中没有我们习惯的日期格式,查了很多博客转换日期和时间戳也都是大概的能得到结果的方式,常将 datetime 和 time 两个模块混用,个人觉得时间格式化不应该这么麻烦,还得用两个模块来支持?故而翻遍了源码,总结以下常用的几种日期和时间戳的转换方式. 以下主要有三个元素(时间字符串,格式,Unix时间戳),可将时间字符串转为另一种时间格式,或将时间字符串转为时间戳,或将时间戳转为时间字符串. datetime 和 time 两个模块,任意一个都能转换完成. 以下两个模块均列出示例:

  • Python时间戳与日期格式之间相互转化的详细教程

    目录 绪论 一.获取当前日期,转为10位或13位时间戳 二.将10位或13位时间戳转为日期格式(年-月-日 时-分-秒) 总结 绪论 java默认精度是毫秒级别的,生成的时间戳是13位,而python默认是10位的,精度是秒.那么python是如何生成13位时间戳,以及时间戳如何转换为日期(年-月-日 时-分-秒) 13位是毫秒时间戳(难点: 输入毫秒级的时间,转出正常格式的时间) 10位是秒时间戳. Python实现[时间戳]与[日期格式]之间相互转化的应用函数汇总表: Python函数 功能

  • js时间戳与日期格式之间相互转换

    本文实例为大家分享了js时间戳与日期格式之间相互转换的代码,供大家参考,具体内容如下 1. 将时间戳转换成日期格式 // 简单的一句代码 var date = new Date(时间戳); //获取一个时间对象 /** 1. 下面是获取时间日期的方法,需要什么样的格式自己拼接起来就好了 2. 更多好用的方法可以在这查到 -> http://www.w3school.com.cn/jsref/jsref_obj_date.asp */ date.getFullYear(); // 获取完整的年份(

  • js时间戳与日期格式之间转换详解

    本文实例为大家分享了Android九宫格图片展示的具体代码,供大家参考,具体内容如下 将时间戳转换为日期格式 var date = new Date(时间戳);获取一个时间对象. 下面是获取时间日期的方法 下面是获取时间日期的方法. date.getFullYear();//获取完整的年份(4位,1970) date.getMonth();//获取月份(0-11,0代表1月,用的时候记得加上1) date.getDate();//获取日(1-31) date.getTime();//获取时间(从

  • js时间戳转为日期格式的方法

    什么是Unix时间戳(Unix timestamp): Unix时间戳(Unix timestamp),或称Unix时间(Unix time).POSIX时间(POSIX time),是一种时间表示方式,定义为从格林威治时间1970年01月01日00时00分00秒起至现在的总秒数.Unix时间戳不仅被使用在Unix系统.类Unix系统中,也在许多其他操作系统中被广泛采用. 目前相当一部分操作系统使用32位二进制数字表示时间.此类系统的Unix时间戳最多可以使用到格林威治时间2038年01月19日

  • vue获取时间戳转换为日期格式代码实例

    vue获取时间戳转换为日期格式. 方法一为转载黄轶老师的format方法:出处(黄轶老师github    https://github.com/ustbhuangyi): // date.js export function formatDate (date, fmt) { if (/(y+)/.test(fmt)) { fmt = fmt.replace(RegExp.$1, (date.getFullYear() + '').substr(4 - RegExp.$1.length)); }

  • php获取本年、本月、本周时间戳和日期格式的实例代码

    时间戳格式: //获取今日开始时间戳和结束时间戳 $beginToday=mktime(0,0,0,date('m'),date('d'),date('Y')); $endToday=mktime(0,0,0,date('m'),date('d')+1,date('Y'))-1; //获取昨日起始时间戳和结束时间戳 $beginYesterday=mktime(0,0,0,date('m'),date('d')-1,date('Y')); $endYesterday=mktime(0,0,0,d

  • JS时间戳与日期格式互相转换的简单方法示例

    JS和jQuery用了一段时间,最近发现他们没有自带的时间戳格式化函数,于是综合网上相关的时间戳格式化函数,自己写了一个时间戳格式化函数DateToTime,这个函数提供了多种格式化样式: Y-m-d,Y-m-d H:i:s,Y/m/d,Y/m/d H:i:s,Y年m月d日,Y年m月d日 H:i:s 这里的时间有时仅输入Y-m-d H:i也是可以使用的 /**  * [TimeToDate时间戳转换为日期]  * @param {[type]} unixTime [时间戳]  * @param 

  • javascript中处理时间戳为日期格式的方法

    公共处理时间戳函数 复制代码 代码如下: /** * 处理时间戳转换成日期格式 * @param {Object} obj 时间戳{10位的时间戳需要乘以1000:13位的时间戳不需要} * @return {TypeName} 返回日期格式 2013-09-16 */ function fullnum(obj){ if(Number(obj) < 10){ return '0' + obj; }else{ return obj; } } 1.在PHP中存入的时间戳是10位的,而在javascr

  • 把时间戳转换为日期格式的js代码

    复制代码 代码如下: <script>     function getLocalTime(nS) {        return new Date(parseInt(nS) * 1000).toLocaleString().replace(/:\d{1,2}$/,' ');     }     alert(getLocalTime(1293072805));     </script> 结果是2010年12月23日 10:53第二种 复制代码 代码如下: <script&g

随机推荐