欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

数据库datetime格式(sql数据库使用教程)

程序员文章站 2024-03-27 08:32:16
python中的datetime模块讲解与示例python 中的日期和时间操作是使用名为datetime的模块完成的。它的类具有处理日期、时间、时区和时差的功能。它是一个内置模块,因此不必专门安装。d...

python中的datetime模块讲解与示例

python 中的日期和时间操作是使用名为datetime的模块完成的。它的类具有处理日期、时间、时区和时差的功能。它是一个内置模块,因此不必专门安装。

datetime 模块不仅使我们能够进行日期和时间计算,而且还有助于通过高效的属性提取来格式化输出。

a.datetime中的常量

datetime模块包含两个常量:

minyear:它是日期或日期时间对象的最小有效年份数。它的值为 1。

import datetime

print(datetime.minyear)
# output: 1

maxyear:它是日期或日期时间对象的最大有效年份数。它的值为 9999。

import datetime

print(datetime.maxyear)
# output: 9999

b.datetime中的类

此模块中有六个可用的类允许操作日期和时间:

1、date类

此类的对象表示日历中的日期(格式:年、月、日)。用于该格式的日历当前是公历。此类的构造函数需要所有三个参数:year、month和day。

语法:

 class datetime.date(year, month, day)

参数应参考如下设置:

minyear <= year <= maxyear 
1 <= month <= 12 
1 <= day <= 给定月份和年份中的天数

如果参数的值超出上述范围,则会指出valueerror,如果类型不是整数,则会引发 typeerror。

例子:

minyear <= year <= maxyear 
1 <= month <= 12 
1 <= day <= 给定月份和年份中的天数

简单的示例:

from datetime import date 
 
date0 = date ( 2021 ,  6 ,  6 )  
print ( "简单的示例: " , date0 )
# output:简单的示例:  2021-06-06

date类具有以下类方法和属性:

from datetime import date
import time

## today() 方法
datetoday= date.today()
print("今天是:  ", datetoday) 
# 今天是:   2021-06-07

## fromtimestamp() 方法
date1 = date.fromtimestamp(time.time())
print("给定时间戳的日期是:  ", date1)
# 给定时间戳的日期是:   2021-06-07

## fromordinal() 方法
ordinal0= date.fromordinal(1000)
print("从零开始的第1000天是: ", ordinal0)
# 从零开始的第1000天是:  0003-09-27

## fromisoformat() 方法
dateiso= date.fromisoformat('2019-12-04')
print("文本中的日期是: ", dateiso)
# 文本中的日期是:  2019-12-04

## fromisocalendar(year,week,day) 方法
ii = date.fromisocalendar(2010,4,3)
print("由年、周和日指定的日期是: ", ii)
# 由年、周和日指定的日期是:  2010-01-27

date类还具有实例方法 实例方法是使用类的实例的方法,而类方法只能与类名一起使用。下面给出了date类的实例方法:

from datetime import date

## replace() 实例方法
x = date(2019, 9, 25)
x.replace(year=2010, day=15)
print("替换后的日期是:", x)

## timetuple 实例方法
t = x.timetuple()
## 返回该日期的信息信息
print ("返回的日期信息是:", t)

## toordinal() 实例方法
d = x.toordinal()
print("给定日期的公历序数是:", d)

## weekday() 实例方法
print("给定日期是星期几?",x, "是:", x.weekday())

## isoweekday() 实例方法
print("给定日期是星期几?",x, "在iso日期是:", x.isoweekday())

## isocalendar() 实例方法
print("在公历日期中,",x,"是:",x.isocalendar())


## 下面的函数转换日期字符串

## isoformat 实例方法
s=x.isoformat()
print("给定日期转化成 iso 8601 格式是:", s)

## str 实例方法
print("给定日期转化为文本是:", str(x))

## ctime() 实例方法
print("给定日期的完整字符串表示,",x,"是:", x.ctime())

## strftime() 实例方法
xyear =  x.strftime("%y")
xdate_time = x.strftime("%y/%m/%d, %h:%m:%s")
print("给定日期使用 format 格式化为文本")
print(xyear)
print(xdate_time)

## format() 实例方法
st=format(x)
print("给定日期转为文本是:",st)

## output:
## 替换后的日期是: 2019-09-25
## 返回的日期信息是: time.struct_time(tm_year=2019, tm_mon=9, tm_mday=25, tm_hour=0, tm_min=0, tm_sec=0, tm_wday=2, tm_yday=268, tm_isdst=-1)
## 给定日期的公历序数是: 737327
## 给定日期是星期几? 2019-09-25 是: 2
## 给定日期是星期几? 2019-09-25 在iso日期是: 3
## 在公历日期中, 2019-09-25 是: (2019, 39, 3)
## 给定日期转化成 iso 8601 格式是: 2019-09-25
## 给定日期转化为文本是: 2019-09-25
## 给定日期的完整字符串表示, 2019-09-25 是: wed sep 25 00:00:00 2019
## 给定日期使用 format 格式化为文本
## 2019
## 2019/09/25, 00:00:00
## 给定日期转为文本是: 2019-09-25

2. time 类

时间类的对象表示本地时间,可以通过tzinfo对象进行调整

语法:

class datetime.time(hour, minute, second, microsecond, tzinfo, *, fold)

示例:

from datetime import time
 
time0 = time(13, 24,34) 
print("给定时间示例:", time0)

今天和大家初步学习了python标准库中datetime模块,大家都学会了吗?