日期时间(一)
sql
SELECT TO_CHAR(SYSTIMESTAMP, 'yyyy-MM-dd HH24:mi:ss.FF9') FROM DUAL; SELECT TO_CHAR(SYSDATE, 'yyyy-MM-dd HH24:mi:ss') FROM DUAL; SELECT TO_TIMESTAMP('2014-01-01 17:20:00.178', 'yyyy-MM-dd HH24:mi:ss.ff9') FROM DUAL; SELECT TO_DATE('2014-01-01 17:20:00.178', 'yyyy-MM-dd HH24:mi:ss.ff9') FROM DUAL; --ORA-01821 日期格式无法识别 SELECT TO_DATE('2014-01-01 17:20:00.178', 'yyyy-MM-dd HH24:mi:ss') FROM DUAL; --ORA-01830 日期格式图片在转换整个输入字符串之前结束 SELECT TO_DATE('2014-01-01 17:20:00', 'yyyy-MM-dd HH24:mi:ss') FROM DUAL;
sql2
INSERT INTO zxg VALUES (to_date('2015-5-18 00:00:00','yyyy-mm-dd hh24:mi:ss')) --18-5月 -15 12.00.00.000000 上午 INSERT INTO zxg VALUES (to_date('2015-5-18 11:59:59','yyyy-mm-dd hh24:mi:ss')) --18-5月 -15 11.59.59.000000 上午 INSERT INTO zxg VALUES (to_date('2015-5-18 12:00:00','yyyy-mm-dd hh24:mi:ss')) --18-5月 -15 12.00.00.000000 下午 INSERT INTO zxg VALUES (to_date('2015-5-18 23:59:59','yyyy-mm-dd hh24:mi:ss')) --18-5月 -15 11.59.59.000000 下午
- oracle 数据库中字段为DATE类型时,插入'2015-5-18 00:00:00' 显示2015-5-18
- 将DATE类型数据改为TIMESTAMP时,'2015-5-18' 这种数据将显示为'18-5月 -15 12.00.00.000000 上午'
java
public static void main(String[] args) { SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd hh:mm:ss"); try { sdf.setLenient(true); Date d = sdf.parse("2014-01-02 17:20:00"); System.out.println(d); } catch (ParseException e) { e.printStackTrace(); } Calendar c = Calendar.getInstance(); System.out.println(c.getTime()); System.out.println(new Date()); // Console: // Mon Aug 18 10:34:48 CST 2014 // Mon Aug 18 10:34:48 CST 2014 // true 宽容 false 不宽容 默认 宽容 // c.set(2020, 12, 12, 8, 23, 31); 等价于 c.set(2021, 1, 12, 8, 23, 31);月份0-11 // 会由低到高逐一进位 // 设置为不宽容时,格式错误(合理的时间,比如有0点没有24点)会报异常 java.lang.IllegalArgumentException c.setLenient(true); c.set(2020, 1, 12, 24, 70, 31); System.out.println(c.getTime()); // 01月 Jan January // 02月 Feb February // 03月 Mar March // 04月 Apr April // 05月 May May // 06月 Jun June // 07月 Jul July // 08月 Aug August // 09月 Sep September // 10月 Oct October // 11月 Nov November // 12月 Dec December // 星期一 Mon Monday // 星期二 Tue Tuesday // 星期三 Wen Wednesday // 星期四 Thu Thursday // 星期五 Fri Friday // 星期六 Sat Saturday // 星期日 Sun Sunday }
- oracle 不区分大小写
- java 区分大小写
SimpleDateFormat 不支持并发推荐使用 joda-time 组件