目录
- 日期格式
- 日期函数 - CURDATE()和CURRENT_DATE()- CURTIME()和CURRENT_TIME()- NOW()和CURRENT_TIMESTAMP()- DATE_FORMAT()- DATE_ADD()和DATE_SUB()- DATEDIFF()- DATE()- DAYNAME()和MONTHNAME()
- Java示例代码
- 总结
1. 日期格式
在MySQL中,日期可以使用多种格式进行存储和表示。常见的日期格式包括:
- DATE:仅包含日期部分,格式为'YYYY-MM-DD',例如'2023-07-06'。
- TIME:仅包含时间部分,格式为'HH:MM:SS',例如'13:30:45'。
- DATETIME:包含日期和时间部分,格式为'YYYY-MM-DD HH:MM:SS',例如'2023-07-06 13:30:45'。
- TIMESTAMP:包含日期和时间部分,格式为'YYYY-MM-DD HH:MM:SS',与DATETIME相似,但在存储和使用上有一些差异。
在实际使用中,可以根据需求选择合适的日期格式进行存储和处理。
2. 日期函数
MySQL提供了丰富的日期函数,用于对日期进行各种操作和计算。下面介绍一些常用的日期函数:
CURDATE()和CURRENT_DATE()
CURDATE()
和
CURRENT_DATE()
函数返回当前日期。它们的使用方式相同,可以直接调用这两个函数获取当前日期。
SELECT CURDATE(); -- 返回当前日期,例如'2023-07-06'
SELECT CURRENT_DATE(); -- 返回当前日期,例如'2023-07-06'
CURTIME()和CURRENT_TIME()
CURTIME()
和
CURRENT_TIME()
函数返回当前时间。它们的使用方式相同,可以直接调用这两个函数获取当前时间。
SELECT CURTIME(); -- 返回当前时间,例如'13:30:45'
SELECT CURRENT_TIME(); -- 返回当前时间,例如'13:30:45'
NOW()和CURRENT_TIMESTAMP()
NOW()
和
CURRENT_TIMESTAMP()
函数返回当前日期和时间。它们的使用方式相同,可以直接调用这两个函数获取当前日期和时间。
SELECT NOW(); -- 返回当前日期和时间,例如'2023-07-06 13:30:45'
SELECT CURRENT_TIMESTAMP(); -- 返回当前日期和时间,例如'2023-07-06 13:30:45'
DATE_FORMAT()
DATE_FORMAT()
函数用于将日期按照指定的格式进行格式化。可以使用不同的格式化符号来表示年、月、日、小时、分钟、秒等。
SELECT DATE_FORMAT(NOW(), '%Y-%m-%d %H:%i:%s'); -- 格式化当前日期和时间,例如'2023-07-06 13:30:45'
SELECT DATE_FORMAT(NOW(), '%W, %M %e, %Y'); -- 格式化当前日期,例如'Wednesday, July 6, 2023'
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-07-10', '2023-07-06'); -- 计算两个日期之间的天数差,结果为4
DATE()
DATE()
函数用于提取日期部分。
SELECT DATE(NOW()); -- 提取当前日期部分,例如'2023-07-06'
DAYNAME()和MONTHNAME()
DAYNAME()
和
MONTHNAME()
函数用于获取日期的星期和月份名称。
SELECT DAYNAME('2023-07-06'); -- 获取日期的星期名称,例如'Wednesday'
SELECT MONTHNAME('2023-07-06'); -- 获取日期的月份名称,例如'July'
3. Java示例代码
下面是使用Java和MySQL进行日期操作的示例代码:
import java.sql.*;
import java.text.SimpleDateFormat;
public class DateExample {
public static void main(String[] args) {
String url = "jdbc:mysql://localhost:3306/mydatabase";
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();
}
}
}
运行上述示例代码,您将看到当前日期和格式化日期的输出结果。
4. 总结
本文详细介绍了MySQL中的日期格式及日期函数。通过对日期格式的解释和常用日期函数的讲解,大家应该对MySQL中的日期操作有了更深入的了解。
- 日期格式包括DATE、TIME、DATETIME和TIMESTAMP,可以根据需求选择合适的格式进行存储和处理。
- 日期函数包括CURDATE()、CURRENT_DATE()、CURTIME()、CURRENT_TIME()、NOW()、CURRENT_TIMESTAMP()、DATE_FORMAT()、DATE_ADD()、DATE_SUB()、DATEDIFF()、DATE()、DAYNAME()和MONTHNAME(),可以用于日期的获取、格式化、计算和比较等操作。
公众号请关注"果酱桑", 一起学习,一起进步!
版权归原作者 一叶飘零_sweeeet 所有, 如有侵权,请联系我们删除。