暂无图片
暂无图片
暂无图片
暂无图片
暂无图片

Oracle 带时区的系统日期

askTom 2017-09-20
265

问题描述

嗨,

我正在尝试以以下格式获取带有时区的日期 (我猜是ISO 8601)

YYYY-MM-DDThh:mm:ss.sTZD (例如1997-07-16t19: 20:30.45 01:00)


其中:
YYYY = 四位数年
MM = 两位数月 (01 = 1月等)
DD = 每月的两位数日 (01至31)
hh = 两位数小时 (00到23) (不允许上午/下午)
mm = 两位数分 (00到59)
ss = 两位数秒 (00到59)
s = 代表一秒小数的一个或多个数字
TZD = 时区指示符 (Z或hh:mm或-hh:mm)

任何帮助都将不胜感激。

谢谢

专家解答

sysdate是当前日期,并且仅当前时间。

systimestamp是你想要的。

SQL> select sysdate from dual;

SYSDATE
---------
21-SEP-17

SQL> select systimestamp from dual;

SYSTIMESTAMP
---------------------------------------
21-SEP-17 08.42.33.222000 AM +08:00
复制


您可以完全控制输出格式

SQL> select to_char(systimestamp,'YYYY-MM-DD hh24:mi:ss.ff TZR') from dual;

TO_CHAR(SYSTIMESTAMP,'YYYY-MM-DDHH24:MI:SS.FFTZR')
--------------------------------------------------------------
2017-09-21 08:46:24.752000 +08:00
复制


「喜欢这篇文章,您的关注和赞赏是给作者最好的鼓励」
关注作者
【版权声明】本文为墨天轮用户原创内容,转载时必须标注文章的来源(墨天轮),文章链接,文章作者等基本信息,否则作者和墨天轮有权追究责任。如果您发现墨天轮中有涉嫌抄袭或者侵权的内容,欢迎发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

评论