天天看點

Python3學習2023-6-20-時間處理問題

作者:不易9093

在Python中,可以使用datetime子產品來處理日期和時間。可以使用datetime.strptime()方法将字元串轉化為datetime對象,然後使用datetime.timedelta()方法來進行時間加減。

如果資料庫mysql中的日期資料2000-09-10 00:12:45 格式内容,如何定向加一天、加一小時?

以下是加一天和加一小時的Python3代碼示例:

from datetime import datetime, timedelta

# 将字元串轉化為datetime對象
date_str = '2000-09-10 00:12:45'
date = datetime.strptime(date_str, '%Y-%m-%d %H:%M:%S')

# 加一天
date_plus_one_day = date + timedelta(days=1)
print(date_plus_one_day.strftime('%Y-%m-%d %H:%M:%S'))

# 加一小時
date_plus_one_hour = date + timedelta(hours=1)
print(date_plus_one_hour.strftime('%Y-%m-%d %H:%M:%S'))           

輸出結果為:

2000-09-11 00:12:45
2000-09-10 01:12:45           

其中,%Y-%m-%d %H:%M:%S是日期時間的格式化字元串。在輸出結果時使用strftime()方法将datetime對象轉化為字元串。

Python3學習2023-6-20-時間處理問題
Python3學習2023-6-20-時間處理問題

如果資料庫mysql中的日期資料2000-09-10 00:12:45 格式内容,如何定向減一天、減一小時、減一秒?

可以使用Python中的datetime子產品來處理日期時間,可以使用timedelta函數來進行日期時間的加減操作。下面是減一天、減一小時、減一秒的代碼示例:

from datetime import datetime, timedelta

# 将字元串轉換為datetime類型
date_str = '2000-09-10 00:12:45'
date_time = datetime.strptime(date_str, '%Y-%m-%d %H:%M:%S')

# 減一天
minus_one_day = date_time - timedelta(days=1)
print(minus_one_day.strftime('%Y-%m-%d %H:%M:%S'))  # 輸出2000-09-09 00:12:45

# 減一小時
minus_one_hour = date_time - timedelta(hours=1)
print(minus_one_hour.strftime('%Y-%m-%d %H:%M:%S'))  # 輸出2000-09-09 23:12:45

# 減一秒
minus_one_second = date_time - timedelta(seconds=1)
print(minus_one_second.strftime('%Y-%m-%d %H:%M:%S'))  # 輸出2000-09-10 00:12:44           

上述代碼中,使用datetime.strptime函數将字元串轉換為datetime類型,然後使用timedelta函數進行日期時間的加減操作,最後使用strftime函數将datetime類型轉換為字元串輸出。

Python3學習2023-6-20-時間處理問題
Python3學習2023-6-20-時間處理問題
Python3學習2023-6-20-時間處理問題

如果TXT文本中的日期資料YYYY-mm-dd HH:MM:SS 格式内容,如何定向加一年,加一小時,加一分鐘,加一秒,減一天、減一小時、減一秒、根據日分區表把資料導入到mysql資料庫中不同日期分區中,python3代碼如何編寫?

可以使用Python内置子產品datetime來處理時間,示例如下:

from datetime import datetime, timedelta

# 将字元串轉化為datetime對象
date_str = '2021-01-01 12:00:00'
date_time = datetime.strptime(date_str, '%Y-%m-%d %H:%M:%S')

# 加一年
date_time_1yr = date_time.replace(year=date_time.year + 1)

# 加一小時
date_time_1hr = date_time + timedelta(hours=1)

# 加一分鐘
date_time_1min = date_time + timedelta(minutes=1)

# 加一秒
date_time_1sec = date_time + timedelta(seconds=1)

# 減一天
date_time_1day = date_time - timedelta(days=1)

# 減一小時
date_time_1hr_minus = date_time - timedelta(hours=1)

# 減一秒
date_time_1sec_minus = date_time - timedelta(seconds=1)           

根據日分區表把資料導入到mysql資料庫中不同日期分區中

可以使用Python的pymysql子產品連接配接MySQL資料庫,并使用SQL語句将資料導入到不同的日期分區中。示例如下:

import pymysql

# 連接配接資料庫
conn = pymysql.connect(host='localhost', port=3306, user='root', password='password', database='test')

# 建立遊标對象
cursor = conn.cursor()

# 根據日期分區表分别插入資料
date_str = '2021-01-01 12:00:00'
date_time = datetime.strptime(date_str, '%Y-%m-%d %H:%M:%S')

table_name = 'test_table'
partition_name = 'p_' + date_time.strftime('%Y%m%d')

# 建立日期分區表
create_partition_sql = f"CREATE TABLE IF NOT EXISTS {table_name}_{partition_name} LIKE {table_name};"
cursor.execute(create_partition_sql)

# 導入資料到日期分區表
insert_sql = f"INSERT INTO {table_name}_{partition_name} (col1, col2, col3, ...) VALUES (val1, val2, val3, ...);"
cursor.execute(insert_sql)

# 送出操作
conn.commit()

# 關閉遊标和資料庫連接配接
cursor.close()
conn.close()           
Python3學習2023-6-20-時間處理問題
Python3學習2023-6-20-時間處理問題
Python3學習2023-6-20-時間處理問題
Python3學習2023-6-20-時間處理問題