1、时间戳转换为指定格式日期

import time
  
t = time.strftime("%Y-%m-%d %H:%M:%S", time.localtime())
print(t)
timestamp = time.time()
tuple_time = time.localtime(timestamp)
print(tuple_time) 
print(time.strftime("%Y-%m-%d %H:%M:%S", tuple_time))

 

将字符串的时间转换为时间戳

import time
import datetime
time_str = "2023-02-19 23:07:21"
time_struct = time.strptime(time_str, "%Y-%m-%d %H:%M:%S")
print(time_struct)
print(time.mktime(time_struct))
print(int(time.mktime(time_struct)))

3、Datetime详细介绍

Python提供了多个内置模块用于操作日期时间,像calendar,time,datetime。time模块我在之前的文章已经有所介绍,它提供 的接口与C标准库time.h基本一致。相比于time模块,datetime模块的接口则更直观、更容易调用。今天就来讲讲datetime模块。

datetime模块定义了两个常量:datetime.MINYEAR和datetime.MAXYEAR,分别表示datetime所能表示的最 小、最大年份。其中,MINYEAR = 1,MAXYEAR = 9999。(对于偶等玩家,这个范围已经足够用矣~~)

datetime模块定义了下面这几个类:

  • datetime.date:表示日期的类。常用的属性有year, month, day;
  • datetime.time:表示时间的类。常用的属性有hour, minute, second, microsecond;
  • datetime.datetime:表示日期时间。
  • datetime.timedelta:表示时间间隔,即两个时间点之间的长度。
  • datetime.tzinfo:与时区有关的相关信息。(这里不详细充分讨论该类,感兴趣的童鞋可以参考python手册)

 :上面这些类型的对象都是不可变(immutable)的。

下面详细介绍这些类的使用方式。

date类

date类表示一个日期。日期由年、月、日组成(地球人都知道~~)。date类的构造函数如下:

class datetime.date(year, month, day):参数的意义就不多作解释了,只是有几点要注意一下:

  • year的范围是[MINYEAR, MAXYEAR],即[1, 9999];
  • month的范围是[1, 12]。(月份是从1开始的,不是从0开始的~_~);
  • day的最大值根据给定的year, month参数来决定。例如闰年2月份有29天;

date类定义了一些常用的类方法与类属性,方便我们操作:

  • date.max、date.min:date对象所能表示的最大、最小日期;
  • date.resolution:date对象表示日期的最小单位。这里是天。
  • date.today():返回一个表示当前本地日期的date对象;
  • date.fromtimestamp(timestamp):根据给定的时间戮,返回一个date对象;
  • datetime.fromordinal(ordinal):将Gregorian日历时间转换为date对象;(Gregorian Calendar :一种日历表示方法,类似于我国的农历,西方国家使用比较多,此处不详细展开讨论。)

 

4、获得三天前的时间的方法

import time
import datetime
  
time_str = "2023-02-19 23:07:21"
time_struct = time.strptime(time_str, "%Y-%m-%d %H:%M:%S")
  
print(datetime.datetime.now())
  
computed_time = datetime.datetime.now() - datetime.timedelta(days=3)
  
print(computed_time)
timestamp = time.mktime(computed_time.timetuple())
print(timestamp)
  
time_str = time.strftime("%Y-%m-%d %H:%M:%S", computed_time.timetuple())
print(time_str)

使用datetime模块来获取当前的日期和时间

import time
import datetime
  
time_str = "2023-02-19 23:07:21"
time_struct = time.strptime(time_str, "%Y-%m-%d %H:%M:%S")
  
currentDate = datetime.datetime.now()
print(time.strftime("%Y-%m-%d %H:%M:%S", currentDate.timetuple()))
print(currentDate.year)
print(currentDate.month)
print(currentDate.day)
print(currentDate.hour)
print(currentDate.minute)
print(currentDate.second)

 

posted on 2024-08-26 10:58  lshan  阅读(13)  评论(0编辑  收藏  举报