当前位置: 首页 > news >正文

SQLite库笔记:日期和时间函数

1. 函数概述

SQLite支持7个日期和时间函数,如下:

1

date(time-value, modifier, modifier, ...)

返回YYYY-MM-DD格式的日期

2

time(time-value, modifier, modifier, ...)

返回HH:MM:SS格式的时间

3

datetime(time-value, modifier, modifier, ...)

返回YYYY-MM-DD HH:MM:SS格式的日期时间

4

julianday(time-value, modifier, modifier, ...)

返回从格林尼治时间的公元前 4714 年 11 月 24 日正午算起的天数

5

unixepoch(time-value, modifier, modifier, ...)

返回unix时间戳,即1970-01-01 00:00:00 UTC以来的秒数

6

strftime(format, time-value, modifier, modifier, ...)

返回format指定格式的日期时间

7

timediff(time-value A, time-value B)

返回一个字符串,该字符串描述为到达时间A而必须添加到B的时间量

其中strftime()的format格式字符串支持在标准 C 库的 strftime()函数中找到的最常见替换项,以及两个新的替换项,即 %f 和 %J。 以下是有效 strftime()替换的完整列表,截至SQLite版本 3.46.0 (2024-05-23)。SQLite 的早期版本可能不支持所有替换。如果未定义或不受支持看到替换,结果为 NULL。

%d

月份的第几天: 01-31

%e

月份的第几天,不带前导零: 1-31

%f

带小数部分的秒: SS.SSS

%F

ISO 8601日期: YYYY-MM-DD

%G

ISO 8601年份对应%V

%g

2位ISO 8601年份对应%V

%H

小时: 00-24

%I

12小时制的小时: 01-12

%j

年份的第几天: 001-366

%J

儒略历日(小数)

%k

不带前导零的小时: 0-24

%l

12小时制的小时,不带前导零: 1-12

%m

月份: 01-12

%M

分钟: 00-59

%p

取决于小时的"AM" 或"PM"

%P

取决于小时的"am" or "pm"

%R

ISO 8601时间: HH:MM

%s

1970-01-01以来的秒数

%S

秒: 00-59

%T

ISO 8601时间: HH:MM:SS

%U

年份的第几周(00-53)-第01周从第一个星期日开始

%u

一周的第几天(1-7),其中周一为第1天

%V

ISO 8601一年中第几个星期

%w

一周的第几天(0-6),其中周日为0

%W

一年的第几周 (00-53) – 第01周从第一个星期日开始

%Y

年份: 0000-9999

%%

%

strftime()比较灵活,其它日期和时间函数可以用strftime()表示:

函数

等同于strftime()

date(...)

strftime('%Y-%m-%d', ...)

time(...)

strftime('%H:%M:%S', ...)

datetime(...)

strftime('%Y-%m-%d %H:%M:%S', ...)

julianday(...)

strftime('%J', ...)

2. time-value时间字符串

上面列表的time-value时间字符串通常是一个字符串,可以使用下列格式:

YYYY-MM-DD
YYYY-MM-DD HH:MM
YYYY-MM-DD HH:MM:SS
YYYY-MM-DD HH:MM:SS.SSS
YYYY-MM-DDTHH:MM
YYYY-MM-DDTHH:MM:SS
YYYY-MM-DDTHH:MM:SS.SSS
HH:MM
HH:MM:SS
HH:MM:SS.SSS
now
DDDDDDDDDD

上述格式中标红的“T”是分隔的文字字符。倒数第二个格式字符串“now”,可转换为当前日期。

3. modifier修饰符

对于除 timediff()以外的所有日期/时间函数, time-value 参数后面可以跟零个或多个modifier修饰符,这些修饰符更改日期时间。每个修饰符都是应用于其左侧时间值的转换。注意,顺序很重要。可用的修饰符如下

  •     NNN days
  •     NNN hours
  •     NNN minutes
  •     NNN seconds
  •     NNN months
  •     NNN years
  •     ±HH:MM
  •     ±HH:MM:SS
  •     ±HH:MM:SS.SSS
  •     ±YYYY-MM-DD
  •     ±YYYY-MM-DD HH:MM
  •     ±YYYY-MM-DD HH:MM:SS
  •     ±YYYY-MM-DD HH:MM:SS.SSS
  •     ceiling
  •     floor
  •     start of month
  •     start of year
  •     start of day
  •     weekday N
  •     unixepoch
  •     julianday
  •     auto
  •     localtime
  •     utc
  •     subsec
  •     subsecond

4. 示例

计算当前日期:

sqlite> select date(); 
2024-08-09

计算unix时间戳的日期和时间、某日期时间的unix时间戳:

sqlite> select datetime(1092941466, 'unixepoch');
2004-08-19 18:51:06
sqlite> select unixepoch('2004-08-19 18:51:06');
1092941466

计算2024-01-01 12:00:00距离1970-01-01有多久:

sqlite> select timediff('2024-01-01 12:00:00', '1970-01-01');
+0054-00-00 12:00:00.000

计算当前日期时间(UTC)、本地时区的日期时间:

sqlite> select strftime('%F %T');
2024-08-09 13:57:04
sqlite> select strftime('%Y-%m-%d %H:%M:%S');
2024-08-09 13:57:04
sqlite> select strftime('%Y-%m-%d %H:%M:%S', 'now', 'localtime');
2024-08-09 21:57:04

 

注意:SQLite默认是UTC时间,获取当地时间可以加上'localtime'修饰符。

相关文章:

SQLite库笔记:日期和时间函数

1. 函数概述 SQLite支持7个日期和时间函数,如下: 1 date(time-value, modifier, modifier, ...) 返回YYYY-MM-DD格式的日期 2 time(time-value, modifier, modifier, ...) 返回HH:MM:SS格式的时间 3 datetime(time-value, modifier, modifier, ...…...

Linux开发板运行报错/system/bin/sh: can‘t create /dev/leds: Permission denied

Linux开发板运行报错/system/bin/sh: cant create /dev/leds: Permission denied 1.问题解决 1.问题解决 /system/bin/sh: can’t create /dev/leds: Permission denied 在linux开发板下运行驱动报错没有权限,需要运行 su,同时也会停止打印 在运行: ch…...

月薪5W的项目经理是如何面试的?这份面试攻略请收好!

面试是项目经理求职必须经历的一关,但很多经验不够丰富的项目经理不知道面试会问些什么问题,也不知道要怎么回答,无疑会直接影响面试企业的判断,使项目经理求职受阳.所以,项目经理想要顺利求职,还是有必要掌…...

接口隔离原则

接口隔离原则 接口隔离原则就是客户端不应该依赖它不需要的接口,或者说类间的依赖关系应该建立在最小的接口上。 我们以搜索美女为例,设计了如下的类图: 源代码如下。美女及其实现类: 搜索程序及其子类源代码如下: 最…...

【C++ 面试 - 基础题】每日 3 题(十六)

✍个人博客:Pandaconda-CSDN博客 📣专栏地址:http://t.csdnimg.cn/fYaBd 📚专栏简介:在这个专栏中,我将会分享 C 面试中常见的面试题给大家~ ❤️如果有收获的话,欢迎点赞👍收藏&…...

端到端测试自动化:使用JavaScript打造可靠的Web应用

端到端测试(End-to-End Testing,简称E2E测试)是软件测试的一种形式,用于验证整个应用从端到端的流程是否按预期工作。在JavaScript生态系统中,E2E测试通常使用专门的框架来模拟用户交互,验证应用的业务逻辑…...

『大模型笔记』基于LLM生成真实世界数据的合成问答数据!

基于LLM生成真实世界数据的合成问答数据! 文章目录 一. 基于LLM生成真实世界数据的合成问答数据!1. 概述(Overview)2. 场景(Scenario)2.1. 概述2.1.1. 第1阶段:构建种子数据集(Stage 1. Constructing a seed dataset)2.1.2. 第2阶段:数据增强(可选)(Data Augmentation…...

一个使用Python和`scikit-learn`库实现KMeans聚类算法的简单示例

一个使用Python和scikit-learn库实现KMeans聚类算法的简单示例。首先,请确保您已经安装了scikit-learn库。如果没有安装,可以通过pip安装它: pip install scikit-learn下面是一个简单的例子,展示如何使用scikit-learn中的KMeans进…...

记录一下vue2和vue3中如何配置keep-alive及写法上的差异

应用场景 跳转下一个页面后,返回当前页面,或者在多个页面之间切换,保留页面中的所有状态,常见的就是填写到一半的表单。h5的tabbar页面缓存,避免重复加载数据。 主要实现思路 这个东西很常见,动态路由一…...

面试题:Rabbitmq怎么保证消息的可靠性?

1.消费端消息可靠性保证: 消息确认(Acknowledgements):(自动(默认),手动) 消费者在接收到消息后,默认情况下RabbitMQ会自动确认消息(autoAcktrue)。为保证消息可靠性,可以设置auto…...

性能测试工具之JMeter

JMeter Apache JMeter应用程序是开源软件,是一个100%纯Java应用程序,旨在负载测试功能行为和衡量性能。它最初是为测试Web应用程序而设计的,但后来扩展到其他测试功能。 JMeter是一个免费、开源、跨平台的性能测试工具,于20世纪90年代后期面世。这是一个成熟、健全且具有…...

SQL Zoo 9-.Window functions

以下数据均来自SQL Zoo 1.Show the lastName, party and votes for the constituency S14000024 in 2017.(显示2017年选区“S14000024”的姓氏、政党和选票) SELECT lastName, party, votesFROM geWHERE constituency S14000024 AND yr 2017 ORDER BY…...

智能化清理C盘的方法 小白也可以轻松清理C盘了 不再担心误删文件

智能化清理C盘的方法 小白用户也可以轻松清理C盘了 不再担心误删文件。对于电脑小白来说,C盘清理是一个大大的问题,因为大家都不知道C盘里有哪些文件可以删除,哪些不能删除,所以就直接的导致大家不可能去清理c盘垃圾。 就算是C盘…...

在c#中常用的特性

在C#中,特性(Attributes)是一种将元数据应用于程序实体(如类、方法、属性等)的方式。这些元数据可以在编译时和运行时被读取,常用于配置、自定义行为、装饰器模式等场景。以下是一些C#中常用的特性&#xf…...

Polars简明基础教程十二:可视化(二)

设置绘图后端 我们可以使用 hv.extension 更改绘图后端。但是,我们不在此处运行此单元格,因为它会导致下面的 Matplotlib/Seaborn 图表无法渲染。 注释: hvPlot 利用 HoloViews 库来构建图表,并且可以使用多个后端进行渲染&…...

python 使用正则表达式判断图片路径是否是超链接

在Python中,判断一个给定的字符串(假设为图片路径)是否是网页链接(URL),你可以通过检查该字符串是否符合URL的基本格式来实现。虽然这个方法不能保证链接一定指向图片,但它能判断该字符串是否是…...

【学习笔记】Day 14

一、进度概述 1、《地震勘探原理》第七章 二、详情 地震波动力学是相对于运动学而言的。运动学主要研究波的传播规律,其主要特征是分析、研究波的传播路径。传播速度。旅行时间等。地震波动力学则主要从能量的角度研究地震波的特征,如波的振幅、波形、频…...

使用SSL认证访问操作手册

完整版,从证书生成到使用 【金山文档 | WPS云文档】 使用SSL认证访问操作手册 https://kdocs.cn/l/cuxGfHD17eEw...

网络协议 十一 ARP,RARP,icmp,websocket,webservice,HTTPDNS,FTP,邮件相关的协议, SMTP,POP,IMAP

ARP 已知IP 求 MAC 的过程 RARP 已知MAC 求 IP 的过程,已被DHCP取代 ICMP websocket 协议,html5中提出的前端使用协议 webservice 技术,已过时 HTTPDNS 之前我们要获得 某一个域名的 IP ,要通过DNS协议 去 运营商的ISP 查询&…...

浏览器插件利器--allWebPluginV2.0.0.16-Stable版发布

allWebPlugin简介 allWebPlugin中间件是一款为用户提供安全、可靠、便捷的浏览器插件服务的中间件产品,致力于将浏览器插件重新应用到所有浏览器。它将现有ActiveX控件直接嵌入浏览器,实现插件加载、界面显示、接口调用、事件回调等。支持Chrome、Firefo…...

设计模式22-迭代器模式

设计模式22-迭代器模式 迭代器模式(Iterator Pattern)动机定义结构定义结构结构图解释注意事项 C代码推导多态属性(虚函数)实现迭代器1. **返回值问题**2. **对象切割问题**3. **内存管理问题**4. **迭代器生命周期问题**5. **接口…...

编程深水区之并发⑥:C#的线程池

绝大多数情况下,我们都应该使用CLR线程池,而不是直接操作Thread,本章节介绍直接操作线程池的ThreadPool,但实际开发中也很少直接使用它。 一、CLR和线程池 1.1 CLR的主要工作 CLR(Common Language Runtime&#xff0…...

KCTF 闯关游戏:1 ~ 7 关

前言 看雪CTF平台是一个专注于网络安全技术竞赛的在线平台,它提供了一个供网络安全爱好者和技术专家进行技术交流、学习和竞技的环境。CTF(Capture The Flag,夺旗赛)是网络安全领域内的一种流行竞赛形式,起源于1996年…...

【海贼王航海日志:前端技术探索】一篇文章带你走进JavaScript(二)

目录 1 -> 基础数据类型 1.1 -> 条件语句 1.1.1 if语句 1.2 -> 分支语句 1.2.1 -> switch语句 1.3 -> 循环语句 1.3.1 -> while循环 1.3.2 -> continue 1.3.3 -> break 1.3.4 -> for循环 1.4 -> 数组 1.4.1 -> 创建数组 1.4.2 -…...

鸿蒙内核源码分析(进程管理篇) | 谁在管理内核资源?

官方基本概念 从系统的角度看,进程是资源管理单元。进程可以使用或等待CPU、使用内存空间等系统资源,并独立于其它进程运行。 OpenHarmony内核的进程模块可以给用户提供多个进程,实现了进程之间的切换和通信,帮助用户管理业务程序…...

SQLALchemy 自动从数据库中映射

SQLALchemy 自动从数据库中映射 使用`automap_base`注意事项在SQLAlchemy中,自动从数据库中映射表到Python类(也称为“反射”或“逆向工程”)是一个常见的需求,尤其是在你已经有了一个现有的数据库,并希望快速地为它创建一个ORM模型时。SQLAlchemy提供了工具来帮助你完成这…...

C++ stack与queue的使用与简单实现

目录 0. 适配器 1. stack的简要介绍 2. stack的简单使用 3. queue的简要介绍 4. queue的简单使用 STL标准库中stack和queue的底层结构 deque简单介绍 5. stack的模拟实现 6. queue的模拟实现 0. 适配器 在文章开始前我们先了解一下适配器的概念 适配器是一种设计模式(设计…...

【CS.DB】数据库-关系型数据库-MySQL-3.3.创建和管理表

1000.04.CS.DB-Database-Relational-MySQL-3.3.创建和管理表-Created: 2023-03-08.Thursday17:39 1. 创建和管理表 在 MySQL 中,创建和管理表是数据库操作的基础。以下是创建和管理表的主要步骤和方法。 1.1 定义表结构 定义表结构包括指定表的名称、列的名称和数…...

Ceph分布式存储系统的搭建与使用

目录 一. 环境准备 二. 安装Docker 三. admin节点安装cephadm 四. admin节点给另外四个主机导入镜像 五. 向集群中添加节点 六. Ceph使用 列出可用设备 清除设备数据---针对有数据的设备 检查 OSD 状态 Ceph 集群中添加一个新的 OSD 查看集群的健康状态 指定MDS 列…...

通过Redsocks将Kali Linux的流量进行代理

Redsocks 是一个代理重定向工具,可以将流量通过 SOCKS 或 HTTP 代理传递。你可以使用它在 Kali Linux 中将流量通过代理服务器。以下是设置和使用 Redsocks 的步骤: 1. 安装 Redsocks Redsocks 通常在 Kali Linux 上不可用,需要手动安装。首…...

做网站是什么鬼/2024年小学生简短小新闻

夜光序言: 后来才明白,要赚到足够令自己安心的钱,才能过上简单、安逸、自由的生活,才能让自己活得更有底气。所以,多花时间努力,少点功夫矫情。 正文: 比如说:一个人A为父类&#x…...

网站开发专业术语/seo优化服务

一、引入Toolbar 在介绍ToolBar之前,我们先回忆一下ActionBar。 相信下面这个界面大家都已经烂熟于心了,没错,在我们每次最初创建项目的时候,Android Studio会为我们创建出这样最初始的界面效果:除了一个“HelloWorld”…...

微信上wordpress/seo就业

SVG剪裁路径和遮罩jQuery幻灯片是一款基于SVG clipPath和mask遮罩元素实现的网站动画幻灯片代码特效。在线演示本地下载转载于:https://www.cnblogs.com/wwhhq/p/8283759.html...

做类似猪八戒网的网站/郑州品牌网站建设

文章目录1.sudo !!2.mtr 命令3.nl 命令4.shulf 和tree 、pstreeshulf 命令tree命令pstree 这个是进程按树形结构显示,显示当前进程以及相关子进程,输出信息跟“tree”类似5.last 命令6.curl ifconfig.me7.lsof -i:端口号8.cut 命令9.seq 命令11.关于 脚本…...

海勃湾网站建设/市场调研报告1000字

配置是如何进行的每个GNU发布版本都应该还有一个名为configure的shell脚本。你需要把你希望在那种机器和系统上编译程序作为参数告诉这个脚本。脚本configure必须记录配置信息以便它们可以影响编译工作。这样做的一种方式是把一个诸如config.h的标准名字和为选定的系统匹配的正…...

本地安装wordpress nginx/软文投放平台有哪些?

Scrapy是一个为了爬取网站数据,提取结构性数据而编写的应用框架,我们只需要实现少量代码,就能够快速的抓取到数据内容。Scrapy使用了Twisted异步网络框架来处理网络通讯,可以加快我们的下载速度,不用自己去实现异步框架…...