一、MySQL中记录时间的类型
二、python处理日期和时间(全部代码在最后)
使用的是 datetime
库处理时间
python中时间日期格式化符号:
%y 两位数的年份表示(00-99)
%Y 四位数的年份表示(000-9999)
%m 月份(01-12)
%d 月内中的一天(0-31)
%H 24小时制小时数(0-23)
%I 12小时制小时数(01-12)
%M 分钟数(00=59)
%S 秒(00-59)
%a 本地简化星期名称
%A 本地完整星期名称
%b 本地简化的月份名称
%B 本地完整的月份名称
%c 本地相应的日期表示和时间表示
%j 年内的一天(001-366)
%p 本地A.M.或P.M.的等价符
%U 一年中的星期数(00-53)星期天为星期的开始
%w 星期(0-6),星期天为星期的开始
%W 一年中的星期数(00-53)星期一为星期的开始
%x 本地相应的日期表示
%X 本地相应的时间表示
%Z 当前时区的名称
%% %号本身
声明:在python的datetime中默认格式是 %Y-%m-%d %H:%M:%S
,按顺序输出,如果时、分、秒没有,会自动把没有的默认为0
1、获取当前时间datetime
datetime.datetime.now() # 获取当前本地时间
datetime.datetime.utcnow() # 获取当前世界时间
2、用datetime创建指定日期时间
datetime.datetime(2019, 11, 11, 20, 45, 45) #用datetime创建指定日期时间
3、字符串转换成datetime类型——strptime
例如:
'2019/11/11'
'2019年11月11日'
'2019年11月11日20时45分45秒'
'11/11/2019'
'11/11/2019 20:450:45'
转化:
4、将datetime类型转换成字符串——strftime
例如:
2019年11月11日20时45分45秒
11/11/2019 08:45:45PM
2019-11-11
转化为:
5、用系统时间输出以下字符串
例如:
今天是这周的第?天
今天是今年的第?天
今周是今年的第?周
今天是当月的第?天
转化为:
三、MySQL插入
格式
INSERT INTO [表名] (time) VALUES ('2019-11-07 01:51')
INSERT INTO [表名] (time) VALUES ('2019-11-07 01:51:03')
四、代码
# !/usr/bin/python
# -*- coding: utf-8 -*-
# @Time : 2019/11/6 23:38
# @Author : ljf
# @File : test.py
import datetime
if __name__ == "__main__":
# 1、获取当前时间
t1 = datetime.datetime.now()
t2 = datetime.datetime.utcnow()
print('当前时间:', t1)
print('世界时间:', t2)
# 2、用指定日期时间创建datetime
t3 = datetime.datetime(2019, 11, 11, 20, 45, 45)
print('指定日期:', t3)
# 3、字符串转换成datetime类型
print('转化为:')
t4 = datetime.datetime.strptime('2019/11/11', '%Y/%m/%d')
print(t4)
t5 = datetime.datetime.strptime('2019年11月11日', '%Y年%m月%d日')
print(t5)
t6 = datetime.datetime.strptime('2019年11月11日20时45分45秒', '%Y年%m月%d日%H时%M分%S秒')
print(t6)
t7 = datetime.datetime.strptime('11/11/2019', '%m/%d/%Y')
print(t7)
t8 = datetime.datetime.strptime('11/11/2019 20:45:45', '%m/%d/%Y %H:%M:%S')
print(t8)
# 4、datetime类型转换成字符串
t9 = datetime.datetime(2019, 11, 11, 20, 45, 45)
print('转化为:')
print(t9.strftime('%Y{y}%m{m}%d{d}%H{h}%M{M}%S{s}').format(y='年', m='月', d='日', h='时', M='分', s='秒'))
print(t9.strftime('%m/%d/%Y %I:%M:%S%p'))
print(t9.strftime('%Y-%m-%d'))
# 5、用系统时间输出以下字符串
t10 = datetime.datetime.now()
w = t10.strftime('%w')
j = t10.strftime('%j')
W = t10.strftime('%W')
d = t10.strftime('%d')
print('今天是这周的第{}天'.format(w))
print('今天是今年的第{}天'.format(j))
print('今周是今年的第{}周'.format(W))
print('今天是当月的第{}天'.format(d))
# sql
# 秒有小数切割要小数点前面的
today_time = str(datetime.datetime.now()).split('.')[0]
print(today_time)
today_time = datetime.datetime.strptime(today_time, '%Y-%m-%d %H:%M:%S')
sql = "INSERT INTO t_train_number (time) VALUES ('%s')" % today_time
print(sql)