python使用datetime并格式插入MySQL

一、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

例如:

2019111120454511/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)
发布了113 篇原创文章 · 获赞 109 · 访问量 11万+

猜你喜欢

转载自blog.csdn.net/weixin_42109012/article/details/102945518