程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式師世界 >> 編程語言 >  >> 更多編程語言 >> Python

Python是如何表示時間的?2個模塊、3種方式,1文搞定~

編輯:Python


大家好,這裡是程序員晚楓。知識星球:Python讀者圈

在Python中,表示時間的格式一共有3種:時間戳、結構化時間、格式化時間,2個模塊:time、datetime。

今天我們來一起看一下。

一、3種時間格式,4種生成方式

1、時間戳 - 記錄時間

時間戳表示的是從1970年1月1日00:00:00開始按秒計算的偏移量。

import time
time.time() # 時間戳
# 輸出:1659682465.1875775

  • 1.
  • 2.
  • 3.
  • 4.

這種方式得到的時間,一般用來數據庫存儲,非常節省存儲空間。

2、結構化的時間 - 使用時間

所謂結構化時間,你可以理解成把時間進行了分類,分為了:年月日時分秒,你想用哪個類別,就可以直接取出哪個類別。

如果我們想取出一個時間片段,用這個方法就很簡單了,例如:取出當前時間的分鐘數。

import time
time.localtime().tm_min # 結構化時間
# 輸出:30

  • 1.
  • 2.
  • 3.
  • 4.

3、格式化的時間 - 展示時間

這個方法,用來給用戶展示時間。

import time
time.strftime('%Y-%m-%d %H-%M-%S %A')# 格式化時間
# 輸出:'2022-08-04 19-08-35 Friday'
import datetime
datetime.datetime.now()#格式化時間
# 輸出:datetime.datetime(2022, 8, 4, 19, 9, 0, 328515)

  • 1.
  • 2.
  • 3.
  • 4.
  • 5.
  • 6.
  • 7.
  • 8.
  • 9.

二、2個模塊:time,為什麼有datetime模塊?

在前面生成時間的代碼中,我們使用了2個模塊:time和datetime,好像它們之間的功能也是重復的。

既然有了time模塊,為什麼還要有datetime?那是為了簡化time的使用。

datatime模塊重新封裝了time模塊,提供更多接口,提供的類有:date,time,datetime,timedelta,tzinfo。

應用場景

在之前的文章中我們講過: 萬字總結!Python 實現定時任務的八種方案

在定時任務中,我想設置一個一周後提醒我的功能。

如果用time模塊進行實現

import time
time.time() + 7*24*60*60 # 7天*24小時*60分鐘*60秒

  • 1.
  • 2.
  • 3.

需要自己計算出7天後的時間戳,而如果使用datetime模塊,這件事就很簡單了:直接days + 7,如下圖代碼所示。

import datetime
datetime.datetime.now() + datetime.timedelta(days=7)#格式化時間

  • 1.
  • 2.
  • 3.

三、互相之間的轉換

時間戳和結構化數據、字符串數據之間,可以進行轉換。這一點的注意事項見上圖,這裡不再贅述。

如對本篇文章有疑問,可以在評論區,進行更加詳細的溝通


  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式師世界 All Rights Reserved