Advertisement

Oracle如何将GMT时间(即格林尼标准时间)转换成标准时间格式

阅读量:

Oracle如何将GMT时间(即格林尼标准时间)转换成标准时间格式

先熟悉下什么是GMT时间

GMT:格林尼标准时间
北京时间=GMT时间+8小时

格林尼治平均时(GMT, Greenwich Mean Time)

格林威治是英国伦敦泰晤士河南岸的一个地方,由于从19世纪开始,因为世界各国来往频繁,而欧洲大陆、美洲大陆和亚洲大陆都有各自的时区,所以为免混乱,各国的代表就在1884
年在美国华盛顿召开了国际大会,通过协议选出伦敦的格林威治,作为全球时间的中心点,格林威治标准时间因而诞生。所以有GMT功能的腕表就是说腕表拥有其中的小时表盘可以显示GMT时间。

GMT时间就是英国格林威治时间,也就是世界标准时间,是本初子午线上的地方时,是0时区的区时,与我国的标准时间北京时间 (东八区)相差8小时,即晚8小时。

我遇到的GMT时间格式如下:Thu Jul 16 16:10:52 GMT+08:00 2020
在Oracle上创建自定义存储过程:

复制代码
    create or replace function aaa_zzsj.f_gmt(gmt in varchar2) return varchar2 is
      gmt1 varchar2(35);
    begin
      select regexp_substr(gmt, '[^ ]+', 1, 6) || '-' ||
         decode(regexp_substr(gmt, '[^ ]+', 1, 2),
                'Jan',
                '01',
                'Feb',
                '02',
                'Mar',
                '03',
                'Apr',
                '04',
                'May',
                '05',
                'Jun',
                '06',
                'Jul',
                '07',
                'Aug',
                '08',
                'Sep',
                '09',
                'Oct',
                '10',
                'Nov',
                '11',
                'Dec',
                '12',
                null) || '-' || regexp_substr(gmt, '[^ ]+', 1, 3) || ' ' ||
         regexp_substr(gmt, '[^ ]+', 1, 4)
    into gmt1
    from dual;
      return gmt1;
    end;

执行结果如图
声明:
1、创作不易,请不要转载。非要转载,请注出处。
2、如果本文帮到了你,请给我点个赞吧。
3、有问题或者需要我补充的,请联系我。

全部评论 (0)

还没有任何评论哟~