Chinaunix首页 | 论坛 | 博客
  • 博客访问: 92303
  • 博文数量: 81
  • 博客积分: 0
  • 博客等级: 民兵
  • 技术积分: 1007
  • 用 户 组: 普通用户
  • 注册时间: 2013-11-20 14:50
文章分类

全部博文(81)

文章存档

2014年(21)

2013年(60)

我的朋友

分类: Java

2013-12-30 14:26:18

  报表中同时用到了从JAVA中取得的日期和从ORACLE中取得的日期,日期格式必须统一。

  1、JAVA中,我用SimpleDateFormat()格式化日期,语法如下:

  SimpleDateFormat("dd-MMM-yy",Locale.US).format(new Date())

  其中,第二个参数Locale.US是可选的,指定要把时间显示为哪个Locale的格式。

  这里指定为Locale.US ,则得出的结果中月份会显示为Jan的格式。

  2、ORACLE中,用TO_CHAR()方法格式化日期sdudd1230,语法如下:

  TO_CHAR(SYSDATE, 'DD-MON-YYYY', 'NLS_DATE_LANGUAGE=AMERICAN')

  其中,第三个参数也是可选的,用于指定NLS参数,用意跟SimpleDateFormat的第二个参数相同。

  在ORACLE中,也可以用DECODE()函数,自行转换,代码如下:

  select to_char(sysdate, 'dd') ||'-' ||

  DECODE(substr(to_char(sysdate, 'dd-mm-yy'), 4, 2), '01', 'JAN' ,

  '02', 'FEB' ,

  '03', 'MAR' ,

  '04', 'APR' ,

  '05', 'MAY' ,

  '06', 'JUN' ,

  '07', 'JUL' ,

  '08', 'AUG' ,

  '09', 'SEP' ,

  '10', 'OCT' ,

  '11', 'NOV' ,

  '12', 'DEC' ,

  'ERROR') || '-' || to_char(sysdate, 'yyyy')

  FROM dual

阅读(489) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~