1、查詢當前時間 年月日時分秒
mysql> select now(); +---------------------+ | now() | +---------------------+ | 2018-03-19 23:12:52 | +---------------------+
2、查詢當前時間 前三小時 的時間點
mysql> select subdate(now(),interval 3 hour); +--------------------------------+ | subdate(now(),interval 3 hour) | +--------------------------------+ | 2018-03-19 20:13:11 | +--------------------------------+
3、查詢當前時間 前三天 的時間點
mysql> select subdate(now(),interval 3 day);
+-------------------------------+
| subdate(now(),interval 3 day) |
+-------------------------------+
| 2018-03-16 23:13:23 |
+-------------------------------+
4、查新當前時間 前三分鍾 的時間點
mysql> select subdate(now(),interval 3 minute);
+----------------------------------+
| subdate(now(),interval 3 minute) |
+----------------------------------+
| 2018-03-19 23:10:32 |
+----------------------------------+
5、查詢當前時間 時分秒
mysql> select current_time();
+----------------+
| current_time() |
+----------------+
| 23:14:09 |
+----------------+
6、查詢當前時間 年月日時分秒
mysql> select current_date();
+----------------+
| current_date() |
+----------------+
| 2018-03-19 |
+----------------+
7、獲取本月最后一天
mysql> select last_day(curdate());
+---------------------+
| last_day(curdate()) |
+---------------------+
| 2018-03-31 |
+---------------------+
8、獲取本月第一天
mysql> select date_add(curdate(), interval - day(curdate()) + 1 day);
+--------------------------------------------------------+
| date_add(curdate(), interval - day(curdate()) + 1 day) |
+--------------------------------------------------------+
| 2018-03-01 |
+--------------------------------------------------------+
9、獲取下個月第一天
mysql> select date_add(curdate() - day(curdate()) + 1, interval 1 month);
+------------------------------------------------------------+
| date_add(curdate() - day(curdate()) + 1, interval 1 month) |
+------------------------------------------------------------+
| 2018-04-01 |
+------------------------------------------------------------+
10、獲取本月天數
mysql> select day(last_day(curdate()));
+--------------------------+
| day(last_day(curdate())) |
+--------------------------+
| 31 |
+--------------------------+
11-1、獲取一個月前的今天【2018年的2月只有28天】
mysql> select date_sub(curdate(), interval 1 month);
+---------------------------------------+
| date_sub(curdate(), interval 1 month) |
+---------------------------------------+
| 2018-02-28 |
+---------------------------------------+
11-1、獲取兩個月前的今天
mysql> select date_sub(curdate(), interval 2 month);
+---------------------------------------+
| date_sub(curdate(), interval 2 month) |
+---------------------------------------+
| 2018-01-29 |
+---------------------------------------+
12、獲取當前時間【當前月的第幾天】
mysql> select datediff(curdate(), date_sub(curdate(), interval 1 month));
+------------------------------------------------------------+
| datediff(curdate(), date_sub(curdate(), interval 1 month)) |
+------------------------------------------------------------+
| 29 |
+------------------------------------------------------------+
13、以時間為條件查詢數據時(例如查詢某個月內或者固定時間段內的數據)
/* 需要的依賴: <!-- https://mvnrepository.com/artifact/joda-time/joda-time --> <dependency> <groupId>joda-time</groupId> <artifactId>joda-time</artifactId> <version>2.9.9</version> </dependency> */ //關於數據庫查詢數據以時間為條件的查詢時 /* 思路:將 將時間格式的字符串轉換為DateTime類型的時間, 然后可以實現在該時間基礎上 plus增加day month week year等等; 然后將增加固定時間后得到的DateTime類型的時間轉換為字符串 在sql語句中進行拼接 */ StringBuffer timeStr = new StringBuffer("2017-01"); timeStr.append("-01 00:00:01"); org.joda.time.format.DateTimeFormatter format = org.joda.time.format.DateTimeFormat.forPattern("yyyy-MM-dd HH:mm:ss"); //時間解析 org.joda.time.DateTime startDate = DateTime.parse(timeStr.toString(), format); DateTime endDate = startDate.plusMonths(1);//在start表示的時間點基礎上增加一個月 String start = startDate.toString("yyyy-MM-dd HH:mm:ss"); String end = endDate.toString("yyyy-MM-dd HH:mm:ss"); System.out.println(start); System.out.println(end); // 單引號一定不能省略 StringBuffer sql = new StringBuffer("select * from user where create_time >'"); sql.append( start).append("'").append(" and create_time < '").append(end).append("'"); String sqlQuery = sql.toString(); //總之就是如下" create_time < '2017-01-01 00;00:00'" (這個是2017-01-01 00;00:00String類型的參數)