当前位置: 首页 > news >正文

14、Python时间表示:Unix时间戳、毫秒微秒精度与time模块实战

适合人群:零基础自学者 | 编程小白快速入门
阅读时长:约5分钟

文章目录

  • 一、问题:计算机中的时间的表示、Unix时间点?
    • 1、例子1:计算机的“生日”:Unix时间点
    • 2、答案:
      • (1)Unix时间点
      • (2)计算机表示时间
  • 二、问题:Python中获取时间的time()模块?
    • 1、例子1:计算年月日
    • 2、例子2:统计代码运行耗时
    • 3、答案:
      • (1)time.time()获取当前时刻
  • 三、动手试一试
    • 任务1:验证Unix时间戳
    • 任务2:时间单位转换

一、问题:计算机中的时间的表示、Unix时间点?

1、例子1:计算机的“生日”:Unix时间点

比喻解析

  • 计算机的时间系统以1970年1月1日为生日(Unix时间点),就像人类用生日计算年龄一样
  • 时间戳就像生日蛋糕上的蜡烛数量:每过1秒就多插一支蜡烛
import time  # 获取当前时间戳(单位:秒)  
timestamp = time.time()  
print(f"此刻距离1970年已过去:{timestamp:.2f}秒")  
# 输出示例:此刻距离1970年已过去:1687894567.89秒

时间单位对照表

单位换算关系类比场景
基础单位人类心跳一次
毫秒 (ms)1秒 = 1000毫秒蜂鸟振翅一次
微秒 (μs)1毫秒 = 1000微秒CPU执行一个指令

2、答案:

(1)Unix时间点

  1. 计算机时间的表示是从“1970年1月1日 00:00:00”开始,以秒为单位(可精确到微秒)进行计算。我们也把1970年这个时刻称为“Unix时间点”。

(2)计算机表示时间

在这里插入图片描述

  1. 以Unix时间点为基准,加上毫秒数的时间,代表1970年之后的时间;减去毫秒数的时间,代表1970年之前的时间。
  2. 这个毫秒数称为时间戳(timestamp)。

二、问题:Python中获取时间的time()模块?

1、例子1:计算年月日

import timeb = int(time.time())  # 距离1970年多少秒
totalMinutes = b // 60  # 距离1970年多少分钟
totalHours = totalMinutes // 60  # 距离1970年多少小时
totalDays = totalHours // 24  # 距离1970年多少天
totalYears = totalDays // 365  # 忽略闰年情况,距离1970年多少年print(f"当前年份:{1970 + totalYears}")  # 输出示例:2024年

2、例子2:统计代码运行耗时

import time  start = time.time()          # 记录开始时间  
# 模拟耗时操作(如计算1到百万的和)  
sum_result = sum(range(1, 1000001))  
end = time.time()            # 记录结束时间  print(f"计算结果:{sum_result}")  
print(f"耗时:{(end - start)*1000:.2f}毫秒")  # 转为毫秒  
# 输出示例:耗时:32.45毫秒  

3、答案:

(1)time.time()获取当前时刻

Python中可以通过 time.time() 获取当前时刻到Unix时间点的毫秒数,包含6位小数的微秒级精度。
例如:print(time.time()) # 1635063628.5632517 距离1970年多少秒

三、动手试一试

任务1:验证Unix时间戳

import time  # 获取当前时间戳(单位:秒)  
start_time = ______  # 补全代码  
time.sleep(2)        # 程序暂停2秒  
end_time = time.time()  duration = ______  # 补全代码(计算时间差)
print(f"程序运行耗时:{duration:.2f}秒")  

参考答案

start_time = time.time()  
duration = end_time - start_time  
# 输出示例:程序运行耗时:2.00秒  

关键点

  1. time.time() 返回当前时间戳(从1970年1月1日开始的秒数)
  2. 时间差计算直接相减即可

任务2:时间单位转换

# 时间戳的毫秒与秒转换  
timestamp = 1635063628.5632517  milliseconds = ______  # 将时间戳转为整数毫秒  
seconds = ______       # 将毫秒转回秒  print(f"毫秒表示:{milliseconds}")  
print(f"秒表示:{seconds}")  

参考答案

milliseconds = int(timestamp * 1000)  
seconds = milliseconds / 1000  
# 输出示例:  
# 毫秒表示:1635063628563  
# 秒表示:1635063628.563  

解析

  1. 秒转毫秒:乘以1000并取整
  2. 毫秒转秒:除以1000

📢 互动区
👉 遇到问题?在评论区:

  1. 描述问题(带代码截图更好)
  2. 分享学习心得
  3. 给文章提建议

支持作者:点赞 | 收藏 | 关注
你的三连是我更新的最大动力!


http://www.xdnf.cn/news/484471.html

相关文章:

  • Day 27 函数专题2 装饰器
  • 读取toml, 合并,生成新文件
  • Apollo Client 1.6.0 + @RefreshScope + @Value 刷新问题解析
  • volatile关键字详解
  • 淘宝商家层级存在流量上限怎么办,如何突破流量上限?
  • 梁文锋署名,DeepSeek-V3新论文揭秘:低成本大模型训练如何突破算力瓶颈?
  • 养生:健康生活的极简密码
  • P21-RNN-心脏病预测
  • blender中旋转模型,导入到threejs中带了旋转信息
  • Java与C/C++跨平台互操作深度解析:Project Panama技术实战
  • 一种应用非常广泛的开源RTOS(实时操作系统):nuttx
  • Spring Security vs Shiro vs Sa-Token
  • 2024年美团春招技术岗第一批笔试
  • 23、电网数据管理与智能分析 - 负载预测模拟 - /能源管理组件/grid-data-smart-analysis
  • nfs网络文件系统
  • 网站推荐(第四期)
  • 【C++ 基础数论】质数判断
  • Pageassist安装(ollama+deepseek-r1)
  • AI 赋能 Copula 建模:大语言模型驱动的相关性分析革新
  • 每周资讯 | 腾讯Q1财报:国内游戏业务收入同比增长24%;Tripledot 8亿美元收购AppLovin游戏业务
  • 十一、Hive JOIN 连接查询
  • IDEA中git对于指定文件进行版本控制
  • 架构与UML4+1视图
  • 基于PXIE 总线架构的Kintex UltraScale 系列FPGA 高性能数据预处理板卡
  • leetcode2749. 得到整数零需要执行的最少操作数-medium
  • ai agent(智能体)开发 python高级应用5:crawl4ai 如何建立一个全面的知识库 第一步找分类
  • Redis 五种类型基础操作(redis-cli + Spring Data Redis)
  • STM32F407VET6的HAL库使用CRC校验的思路
  • React文件上传组件封装全攻略
  • WEB安全--Java安全--shiro550反序列化漏洞