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

MySQL日期格式及日期函数实践

目录
日期格式
日期函数

  1. CURDATE()和CURRENT_DATE()
  2. CURTIME()和CURRENT_TIME()
  3. NOW()和CURRENT_TIMESTAMP()
  4. DATE_FORMAT()
  5. DATE_ADD()和DATE_SUB()
  6. DATEDIFF()
  7. DATE()
  8. DAYNAME()和MONTHNAME()

 

1. 日期格式
在MySQL中,日期可以使用多种格式进行存储和表示。常见的日期格式包括:

  1. DATE:仅包含日期部分,格式为'YYYY-MM-DD',例如'2023-07-06'。
  2. TIME:仅包含时间部分,格式为'HH:MM:SS',例如'13:30:45'。
  3. DATETIME:包含日期和时间部分,格式为'YYYY-MM-DD HH:MM:SS',例如'2023-07-06 13:30:45'。
  4. TIMESTAMP:包含日期和时间部分,格式为'YYYY-MM-DD HH:MM:SS',与DATETIME相似,但在存储和使用上有一些差异。

在实际使用中,可以根据需求选择合适的日期格式进行存储和处理。

2. 日期函数
MySQL提供了丰富的日期函数,用于对日期进行各种操作和计算。下面介绍一些常用的日期函数:

CURDATE()和CURRENT_DATE()
CURDATE()和CURRENT_DATE()函数返回当前日期。它们的使用方式相同,可以直接调用这两个函数获取当前日期。

SELECT CURDATE(); -- 返回当前日期,例如'2023-08-29'
SELECT CURRENT_DATE(); -- 返回当前日期,例如'2023-08-29'

 

 

CURTIME()和CURRENT_TIME()

CURTIME()CURRENT_TIME()函数返回当前时间。它们的使用方式相同,可以直接调用这两个函数获取当前时间。

 

SELECT CURTIME(); -- 返回当前时间,例如'11:12:12'
SELECT CURRENT_TIME(); -- 返回当前时间,例如'11:12:12'

NOW()和CURRENT_TIMESTAMP()

NOW()CURRENT_TIMESTAMP()函数返回当前日期和时间。它们的使用方式相同,可以直接调用这两个函数获取当前日期和时间。

 

SELECT NOW(); -- 返回当前日期和时间,例如'2023-08-29 11:26:27'
SELECT CURRENT_TIMESTAMP(); -- 返回当前日期和时间,例如'2023-08-29 11:26:27

 

DATE_FORMAT()

DATE_FORMAT()函数用于将日期按照指定的格式进行格式化。可以使用不同的格式化符号来表示年、月、日、小时、分钟、秒等。

 

DATE_ADD()和DATE_SUB()

DATE_ADD()DATE_SUB()函数用于对日期进行加减操作。可以指定要加减的日期部分(年、月、日等)和相应的值。

SELECT DATE_ADD(NOW(), INTERVAL 2 DAY); -- 当前日期加2天
SELECT DATE_SUB(NOW(), INTERVAL 1 MONTH); -- 当前日期减1个月

 

DATEDIFF()

DATEDIFF()函数用于计算两个日期之间的天数差。

 

SELECT DATEDIFF('2023-08-29', '2023-08-08'); -- 计算两个日期之间的天数差,结果为21

 

 

DATE()

DATE()函数用于提取日期部分。

SELECT DATE(NOW()); -- 提取当前日期部分,例如'2023-08-29'

 

DAYNAME()和MONTHNAME()

DAYNAME()MONTHNAME()函数用于获取日期的星期和月份名称。

SELECT DAYNAME(NOW()); -- 获取日期的星期名称,例如'Tuesday'
SELECT MONTHNAME(NOW()); -- 获取日期的月份名称,例如'August'

 下面是使用Java和MySQL进行日期操作的示例代码:

package com.linxinbao.controller;import java.sql.*;
import java.text.SimpleDateFormat;public class DateExample {public static void main(String[] args) {String url = "jdbc:mysql://localhost:3306/database";String username = "root";String password = "password";try {// 连接数据库Connection connection = DriverManager.getConnection(url, username, password);// 获取当前日期Statement statement = connection.createStatement();ResultSet resultSet = statement.executeQuery("SELECT CURDATE()");if (resultSet.next()) {Date currentDate = resultSet.getDate(1);System.out.println("Current date: " + currentDate);}// 格式化日期SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd");String formattedDate = dateFormat.format(new java.util.Date());System.out.println("Formatted date: " + formattedDate);// 关闭连接resultSet.close();statement.close();connection.close();} catch (SQLException e) {e.printStackTrace();}}
}

 

http://www.lryc.cn/news/146244.html

相关文章:

  • MySQL项目迁移华为GaussDB PG模式指南
  • 流处理详解
  • Qt中XML文件创建及解析
  • 【pyqt5界面化工具开发-11】界面化显示检测信息
  • Batbot电力云平台在智能配电室中的应用
  • 链表(详解)
  • 最简单vue获取当前地区天气--高德开放平台实现
  • 大数据处理 正则表达式去除特殊字符 提取中文英文数字
  • Python装饰器(decorators)
  • [halcon] 局部图片保存 gen_circle 和 gen_rectangle2 对比 这怕不是bug吧
  • 解析msvcp100.dll丢失的原因及修复方法,教你快速解决的方案
  • 算法:模拟思想算法
  • 【base64】JavaScriptuniapp 将图片转为base64并展示
  • 根据一个List生成另外一个List,修改其中一个,导致另外一个List也在变化
  • Cesium 加载 geojson 文件并对文件中的属性值进行颜色设置
  • windows系统配置tcp最大连接数
  • SQL存储过程中 SET ANSI_NULLS ON 和 SET QUOTED_IDENTIFIER ON的作用和详解
  • C语言——程序执行的三大流程
  • 二级MySQL(十)——单表查询
  • 机器学习:无监督学习
  • 计算机网络之5层网络协议
  • 常见前端面试之VUE面试题汇总十一
  • 2021年12月 C/C++(五级)真题解析#中国电子学会#全国青少年软件编程等级考试
  • 解决 git clone 时出现Failed to connect to 127.0.0.1 port 1573问题
  • 日本核污染水排海,有必要囤盐吗?
  • windows 10自带命令查看文件的哈希值
  • ssm+vue理发店会员管理系统源码和论文
  • Python的for循环
  • 爬虫逆向实战(二十七)--某某招标投标网站招标公告
  • 线程和之间的通讯方式、进程之间的通讯方式、线程之间如何同步