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)
  • 10
    点赞
  • 29
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
MySQL插入datetime类型的数据可以使用INSERT INTO语句。在插入数据时,可以使用NOW()函数获取当前的日期和时间作为插入的值,或者使用STR_TO_DATE()函数将字符串转换为datetime类型。以下是两种插入datetime类型数据的方法: 方法一:使用NOW()函数 INSERT INTO 表名 (列名) VALUES (NOW()); 方法二:使用STR_TO_DATE()函数 INSERT INTO 表名 (列名) VALUES (STR_TO_DATE('日期时间字符串', '日期时间格式')); 其中,日期时间字符串是要插入日期和时间的字符串表示,日期时间格式是指定日期和时间字符串的格式。可以根据实际需要自定义日期时间格式,例如'%Y-%m-%d %H:%i:%s'表示年-月-日 时:分:秒的格式。 请注意,在执行INSERT INTO语句之前,需要先创建包含datetime类型列的表。例如,可以使用CREATE TABLE语句创建一个名为vatsa的表,并在该表中创建一个名为Dt的datetime类型列: CREATE TABLE vatsa(Dt DATETIME); 然后,可以使用INSERT INTO语句将datetime类型数据插入到该表中: INSERT INTO vatsa (Dt) VALUES (NOW()); 上述示例将当前的日期和时间插入到vatsa表的Dt列中。 希望对你有所帮助。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* [python3实现往mysql插入datetime类型的数据](https://download.csdn.net/download/weixin_38608873/12823061)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"] - *2* *3* [在 MySQL使用 DateTime](https://blog.csdn.net/Ajekseg/article/details/126081038)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"] [ .reference_list ]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值