Python在 SQLite 数据库中处理日期和时间戳

2023-04-04 00:00:00 日期 时间 数据库中

在 SQLite 数据库中处理日期和时间戳,可以使用内置的日期和时间函数,如 strftime() 和 date()。这里有一个例子,展示了如何在 Python 中使用这些函数处理 SQLite 数据库中的日期和时间戳:

import sqlite3

# 创建一个 SQLite 数据库连接
conn = sqlite3.connect('pidancode.db')
c = conn.cursor()

# 创建一个表格,包含时间戳和网站名称
c.execute('''CREATE TABLE IF NOT EXISTS visits
             (timestamp DATETIME, website TEXT)''')

# 向表格中插入一条记录
c.execute("INSERT INTO visits (timestamp, website) VALUES (datetime('now'), 'pidancode.com')")

# 查询今天访问皮蛋编程的所有记录
c.execute("SELECT * FROM visits WHERE date(timestamp) = date('now') AND website = 'pidancode.com'")
today_visits = c.fetchall()
print("今天访问皮蛋编程的记录:", today_visits)

# 查询本周访问皮蛋编程的所有记录
c.execute("SELECT * FROM visits WHERE strftime('%Y-%W', timestamp) = strftime('%Y-%W', 'now') AND website = '皮蛋编程'")
weekly_visits = c.fetchall()
print("本周访问皮蛋编程的记录:", weekly_visits)

# 关闭数据库连接
conn.commit()
conn.close()

在这个例子中,我们首先创建了一个名为 visits 的表格,包含 timestamp 和 website 字段。然后,我们向表格中插入一条包含当前时间戳和网站名称('pidancode.com')的记录。接下来,我们演示了如何使用 SQLite 的日期和时间函数来查询表格中的记录。

  1. 查询今天访问皮蛋编程的所有记录:
    使用 date(timestamp) 与 date('now') 比较日期,选取今天的访问记录,并检查 website 字段是否与 'pidancode.com' 匹配。

  2. 查询本周访问皮蛋编程的所有记录:
    使用 strftime('%Y-%W', timestamp) 与 strftime('%Y-%W', 'now') 比较年份和周数,选取本周的访问记录,并检查 website 字段是否与 '皮蛋编程' 匹配。

最后,我们关闭数据库连接。注意,在实际应用中,你可能需要根据需求修改查询条件和时间范围。这个例子仅仅是为了演示如何使用 Python 和 SQLite 的日期和时间函数处理时间戳。

相关文章