获取当前日期的问题

icevi 2005-01-31 02:59:46
我用pl/sql dev用以下语句:
select to_char(current_date,'YYYYMMDD hh24:mi:ss') from dual
得到正确的结果:
20050131 14:55:54

可是为什么在前台应用程序中,用同样的语句,返回的结果却是:
20050131 06:55:54
小时数总是不正确?

我改成select to_char(sysdate,'YYYYMMDD hh24:mi:ss') from dual
就正确了。

current_date 和 sysdate 有什么不同吗?造成上面的现象,可能是什么原因?

谢谢!
...全文
878 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
yxxx 2005-01-31
  • 打赏
  • 举报
回复
学习
icevi 2005-01-31
  • 打赏
  • 举报
回复
我用PL/SQL DEV 执行select SESSIONTIMEZONE from dual 得到+08:00,用前台应用程序执行SQL语句,得到00:00,果然是这个原因,但为什么在同一台机器上不同的程序得到不同的SESSIONTIMEZONE ?这个SESSIONTIMEZONE 是怎么来的?
子陌红尘 2005-01-31
  • 打赏
  • 举报
回复
current_date()返回当前会话时区中的当前日期。
playmud 2005-01-31
  • 打赏
  • 举报
回复
很可能前后台session 的TIME_ZONE 不同
playmud 2005-01-31
  • 打赏
  • 举报
回复
而current_date:
CURRENT_DATE returns the current date in the session time zone, in a value in the Gregorian calendar of datatype DATE.

select SESSIONTIMEZONE from dual;
看看是什么?
playmud 2005-01-31
  • 打赏
  • 举报
回复
sysdate是系统的时间。
yxxx 2005-01-31
  • 打赏
  • 举报
回复
……前台应用程序中……

什么意思啊?
关注

17,377

社区成员

发帖
与我相关
我的任务
社区描述
Oracle 基础和管理
社区管理员
  • 基础和管理社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧