oracle日期tochar转换24小时制12小时制Franson

SQL>selectto_char(sysdate,'YYYY-MM-DDHH12:MI:SSAM')fromdual;

TO_CHAR(SYSDATE,'YYYY-MM-DDHH1

------------------------------

2007-06-2902:50:06下午

2》以24小时制显示

SQL>selectto_char(sysdate,'YYYY-MM-DDHH24:MI:SSAM')fromdual;

TO_CHAR(SYSDATE,'YYYY-MM-DDHH2

2007-06-2915:00:58下午

selectto_char(Sysdate-1/21/60,'HH24:MI:SS')fromdual;

TO_CHAR(SYSDATE-1/21/60,'HH24:

15:00:54

selectto_char(Sysdate+1/21/60,'HH24:MI:SS')fromdual;

TO_CHAR(SYSDATE+1/21/60,'HH24:

15:03:53

selectto_char(Sysdate-1/24,'HH24:MI:SS')fromdual;

TO_CHAR(SYSDATE-1/24,'HH24:MI:

14:03:13

selectto_char(Sysdate+1/24,'HH24:MI:SS')fromdual;

TO_CHAR(SYSDATE+1/24,'HH24:MI:

16:03:32

selectto_char(Sysdate+1,'YYYY-MM-DD')fromdual;

TO_CHAR(SYSDATE+1,'YYYY-MM-DD'

selectadd_months(sysdate,-6)fromdual

1、转换函数

与date操作关系最大的就是两个转换函数:to_date(),to_char()

to_date()作用将字符类型按一定格式转化为日期类型:

具体用法:to_date('2004-11-27','yyyy-mm-dd'),前者为字符串,后者为转换日期格式,注意,前后两者要以一对应。

多种日期格式:

YYYY:四位表示的年份

YYY,YY,Y:年份的最后三位、两位或一位,缺省为当前世纪

MM:01~12的月份编号

MONTH:九个字符表示的月份,右边用空格填补

MON:三位字符的月份缩写

WW:一年中的星期

D:星期中的第几天

DD:月份中的第几天

DDD:年所中的第几天

DAY:九个字符表示的天的全称,右边用空格补齐

HH,HH12:一天中的第几个小时,12进制表示法

HH24:一天中的第几个小时,取值为00~23

MI:一小时中的分钟

SS:一分钟中的秒

SSSS:从午夜开始过去的秒数

to_char():将日期转按一定格式换成字符类型

SQL>selectto_char(sysdate,'yyyy-mm-ddhh24:mi:ss')timefromdual;

TIME

-------------------

2004-10-0815:22:58

在oracle中处理日期大全

TO_DATE格式

Day:

ddnumber12

dyabbreviatedfri

dayspelledoutfriday

ddspthspelledout,ordinaltwelfth

Month:

mmnumber03

monabbreviatedmar

monthspelledoutmarch

Year:

yytwodigits98

yyyyfourdigits1998

[ZT]日期和時間函數匯總

1.

日期和字符转换函数用法(to_date,to_char)

2.

selectto_char(to_date(222,'J'),'Jsp')fromdual

显示TwoHundredTwenty-Two

3.

求某天是星期几

selectto_char(to_date('2002-08-26','yyyy-mm-dd'),'day')fromdual;

星期一

selectto_char(to_date('2002-08-26','yyyy-mm-dd'),'day','NLS_DATE_LANGUAGE=American')fromdual;

monday

设置日期语言

ALTERSESSIONSETNLS_DATE_LANGUAGE='AMERICAN';

也可以这样

TO_DATE('2002-08-26','YYYY-mm-dd','NLS_DATE_LANGUAGE=American')

4.

两个日期间的天数

selectfloor(sysdate-to_date('20020405','yyyymmdd'))fromdual;

selectid,active_datefromtable1

UNION

select1,TO_DATE(null)fromdual;

注意要用TO_DATE(null)

6.

a_datebetweento_date('20011201','yyyymmdd')andto_date('20011231','yyyymmdd')

那么12月31号中午12点之后和12月1号的12点之前是不包含在这个范围之内的。

7.日期格式冲突问题

输入的格式要看你安装的ORACLE字符集的类型,比如:US7ASCII,date格式的类型就是:'01-Jan-01'

altersystemsetNLS_DATE_LANGUAGE=American

altersessionsetNLS_DATE_LANGUAGE=American

或者在to_date中写

注意我这只是举了NLS_DATE_LANGUAGE,当然还有很多,

可查看

select*fromnls_session_parameters

select*fromV$NLS_PARAMETERS

8.

selectcount(*)

from(selectrownum-1rnum

fromall_objects

whererownum<=to_date('2002-02-28','yyyy-mm-dd')-to_date('2002-

02-01','yyyy-mm-dd')+1

)

whereto_char(to_date('2002-02-01','yyyy-mm-dd')+rnum-1,'D')

not

in('1','7')

查找2002-02-28至2002-02-01间除星期一和七的天数

在前后分别调用DBMS_UTILITY.GET_TIME,让后将结果相减(得到的是1/100秒,而不是毫秒).

9.

selectmonths_between(to_date('01-31-1999','MM-DD-YYYY'),

to_date('12-31-1998','MM-DD-YYYY'))"MONTHS"FROMDUAL;

1

selectmonths_between(to_date('02-01-1999','MM-DD-YYYY'),

1.03225806451613

10.Next_day的用法

Next_day(date,day)

Monday-Sunday,forformatcodeDAY

Mon-Sun,forformatcodeDY

1-7,forformatcodeD

11

selectto_char(sysdate,'hh:mi:ss')TIMEfromall_objects

注意:第一条记录的TIME与最后一行是一样的

可以建立一个函数来处理这个问题

createorreplacefunctionsys_datereturndateis

begin

returnsysdate;

end;

selectto_char(sys_date,'hh:mi:ss')fromall_objects;

12.

获得小时数

SELECTEXTRACT(HOURFROMTIMESTAMP'2001-02-162:38:40')fromoffer

SQL>selectsysdate,to_char(sysdate,'hh')fromdual;

SYSDATETO_CHAR(SYSDATE,'HH')

-----------------------------------------

2003-10-1319:35:2107

SQL>selectsysdate,to_char(sysdate,'hh24')fromdual;

SYSDATETO_CHAR(SYSDATE,'HH24')

-------------------------------------------

2003-10-1319:35:2119

获取年月日与此类似

13.

年月日的处理

selectolder_date,

newer_date,

years,

months,

abs(

trunc(

newer_date-

add_months(older_date,years*12+months)

)days

from(select

trunc(months_between(newer_date,older_date)/12)YEARS,

mod(trunc(months_between(newer_date,older_date)),

12)MONTHS,

older_date

from(selecthiredateolder_date,

add_months(hiredate,rownum)+rownumnewer_date

fromemp)

14.

处理月份天数不定的办法

selectto_char(add_months(last_day(sysdate)+1,-2),'yyyymmdd'),last_day(sysdate)fromdual

16.

找出今年的天数

selectadd_months(trunc(sysdate,'year'),12)-trunc(sysdate,'year')fromdual

闰年的处理方法

to_char(last_day(to_date('02'||:year,'mmyyyy')),'dd')

如果是28就不是闰年

17.

yyyy与rrrr的区别

'YYYY99TO_C

-----------

yyyy990099

rrrr991999

yyyy010001

rrrr012001

18.不同时区的处理

selectto_char(NEW_TIME(sysdate,'GMT','EST'),'dd/mm/yyyyhh:mi:ss'),sysdate

fromdual;

19.

5秒钟一个间隔

SelectTO_DATE(FLOOR(TO_CHAR(sysdate,'SSSSS')/300)*300,'SSSSS'),TO_CHAR(sysdate,'SSSSS')

fromdual

2002-11-19:55:0035786

SSSSS表示5位秒数

20.

一年的第几天

selectTO_CHAR(SYSDATE,'DDD'),sysdatefromdual

3102002-11-610:03:51

21.计算小时,分,秒,毫秒

select

Days,

A,

TRUNC(A*24)Hours,

TRUNC(A*24*60-60*TRUNC(A*24))Minutes,

TRUNC(A*24*60*60-60*TRUNC(A*24*60))Seconds,

TRUNC(A*24*60*60*100-100*TRUNC(A*24*60*60))mSeconds

from

(

trunc(sysdate)Days,

sysdate-trunc(sysdate)A

select*fromtabname

orderbydecode(mode,'FIFO',1,-1)*to_char(rq,'yyyymmddhh24miss');

//

floor((date2-date1)/365)作为年

floor((date2-date1,365)/30)作为月

mod(mod(date2-date1,365),30)作为日.

23.next_day函数

next_day(sysdate,6)是从当前开始下一个星期五。后面的数字是从星期日开始算起。

1234567

日一二三四五六

oracle中有很多关于日期的函数

在oracle中有很多关于日期的函数,如:

1、add_months()用于从一个日期值增加或减少一些月份

date_value:=add_months(date_value,number_of_months)

例:

SQL>selectadd_months(sysdate,12)"NextYear"fromdual;

NextYear

----------

13-11月-04

SQL>selectadd_months(sysdate,112)"LastYear"fromdual;

LastYear

13-3月-13

SQL>

2、current_date()返回当前会放时区中的当前日期

date_value:=current_date

SQL>columnsessiontimezonefora15

SQL>selectsessiontimezone,current_datefromdual;

SESSIONTIMEZONECURRENT_DA

-------------------------

+08:0013-11月-03

SQL>altersessionsettime_zone='-11:00'

2/

会话已更改。

SQL>selectsessiontimezone,current_timestampfromdual;

SESSIONTIMEZONECURRENT_TIMESTAMP

---------------------------------------------------

-11:0012-11月-0304.59.13.668000下午-11:

00

3、current_timestamp()以timestampwithtimezone数据类型返回当前会放时区中的当前日期

timestamp_with_time_zone_value:=current_timestamp([timestamp_precision])

SQL>columncurrent_timestampformata36

+08:0013-11月-0311.56.28.160000上午+08:

-11:0012-11月-0304.58.00.243000下午-11:

4、dbtimezone()返回时区

varchar_value:=dbtimezone

SQL>selectdbtimezonefromdual;

DBTIME

------

-07:00

5、extract()找出日期或间隔值的字段值

date_value:=extract(date_fieldfrom[datetime_value|interval_value])

SQL>selectextract(monthfromsysdate)"ThisMonth"fromdual;

ThisMonth

SQL>selectextract(yearfromadd_months(sysdate,36))"3YearsOut"fromdual;

3YearsOut

2006

6、last_day()返回包含了日期参数的月份的最后一天的日期

date_value:=last_day(date_value)

SQL>selectlast_day(date'2000-02-01')"LeapYr"fromdual;

LeapYr

29-2月-00

SQL>selectlast_day(sysdate)"Lastdayofthismonth"fromdual;

Lastdayo

30-11月-03

timestamp_value:=localtimestamp

SQL>columnlocaltimestampformata28

SQL>selectlocaltimestampfromdual;

LOCALTIMESTAMP

----------------------------

13-11月-0312.09.15.433000

下午

SQL>selectlocaltimestamp,current_timestampfromdual;

LOCALTIMESTAMPCURRENT_TIMESTAMP

----------------------------------------------------------------

13-11月-0312.09.31.00600013-11月-0312.09.31.006000下午+08:

下午00

SQL>altersessionsettime_zone='-11:00';

SQL>selectlocaltimestamp,to_char(sysdate,'DD-MM-YYYYHH:MI:SSAM')"SYSDATE"fromdual;

LOCALTIMESTAMPSYSDATE

----------------------------------------------------

12-11月-0305.11.31.25900013-11-200312:11:31下午

8、months_between()判断两个日期之间的月份数量

number_value:=months_between(date_value,date_value)

SQL>selectmonths_between(sysdate,date'1971-05-18')fromdual;

MONTHS_BETWEEN(SYSDATE,DATE'1971-05-18')

----------------------------------------

389.855143

SQL>selectmonths_between(sysdate,date'2001-01-01')fromdual;

MONTHS_BETWEEN(SYSDATE,DATE'2001-01-01')

34.4035409

9、next_day()给定一个日期值,返回由第二个参数指出的日子第一次出现在的日期值(应返回相应日子的名称字符串)

與周相關日期函數

1.查询某周的第一天

selecttrunc(decode(ww,53,to_date(yy||'3112','yyyyddmm'),to_date(yy||'-'||to_char(ww*7),'yyyy-ddd')),'d')last_day

from(selectsubstr('2004-32',1,4)yy,to_number(substr('2004-32',6))ww

fromdual)

selecttrunc(to_date(substr('2003-01',1,5)||to_char((to_number(substr('2003-01',6)))*7),'yyyy-ddd'),'d')-6first_dayfromdual

selectmin(v_date)from

(select(to_date('200201','yyyymm')+rownum)v_date

fromall_tables

whererownum<370)

whereto_char(v_date,'yyyy-iw')='2002-49'

2.查询某周的最后一天

selecttrunc(decode(ww,53,to_date(yy||'3112','yyyyddmm'),to_date(yy||'-'||to_char(ww*7),'yyyy-ddd')),'d')-6first_day

from(selectsubstr('2004-33',1,4)yy,to_number(substr('2004-33',6))ww

selecttrunc(to_date(substr('2003-01',1,5)||to_char((to_number(substr('2003-01',6)))*7),'yyyy-ddd'),'d')last_dayfromdual

selectmax(v_date)from

(select(to_date('200408','yyyymm')+rownum)v_date

whereto_char(v_date,'yyyy-iw')='2004-33'

3.查询某周的日期

selectmin_date,to_char(min_date,'day')dayfrom

(selectto_date(substr('2004-33',1,4)||'001'+rownum-1,'yyyyddd')min_date

whererownum<=decode(mod(to_number(substr('2004-33',1,4)),4),0,366,365)

union

selectto_date(substr('2004-33',1,4)-1||

decode(mod(to_number(substr('2004-33',1,4))-1,4),0,359,358)+rownum,'yyyyddd')min_date

whererownum<=7

selectto_date(substr('2004-33',1,4)+1||'001'+rownum-1,'yyyyddd')min_date

THE END
1.时间――12小时制转换为24小时制有两种主要方式来显示时间: "24小时制" 和 "12 小时制":24小时制: 时间是以从午夜起 经过了多少 小时和分钟 来显示。上午/下午 (或 "12小时制"): 一天分为 从午夜到中午的 12 小时(上午 的小时),以及 从中午到午夜的另外 12 小时 (下午 的小时)。http://www.shuxuele.com/time.html
2.12小时制与24小时制在线换算,在线计算,在线计算器,计算器在线计算24小时制,是一种时间的表示方法。以区别于12小时制。 在24小时制中,下午1点即为13点。下午2点即为14点。 尽管,在生活中,我们使用更多的是12小时制。通常我们说,下午5点下班,或“朝9晚5”指的是上午9点和下午5点(普通职员上下班的时间)。但在,科学严谨的说明中,在合同等法律文书中,时间要写成24小时制。https://www.osgeo.cn/app/sc604
3.一天12小时还是24小时一天为24小时。 十二小时制是一个时间规则把一日二十四小时分为两个时段,分别为上午和下午。每个时段由十二个小时构成,以数字12、1、2、3、4、5、6、7、8、9、10、11依次序表示。上午时段由午夜至中午,而下午时段由中午至午夜。 二十四小时制,是把每日分为二十四个小时,从数字0至23(24是每日完结的午夜)。https://edu.iask.sina.com.cn/jy/20ZgXVhf3p.html
4.12小时制24小时制换算24小时制,是一种时间的表示方法。以区别于12小时制。 在24小时制中,下午1点,被写成13点。下午2点,被写作14点。 尽管,在生活中,我们使用更多的是12小时制。比如我们说,下午5点下班。 我们说的,“朝9晚5”是指的是,上午9点和下午5点(普通职员上下班的时间)。 https://www.jisuanla.com/date/date_12-24_hour.php
5.python中24小时制转换为12小时制的方法python12-24小时制 编写一个程序,要求用户输入24小时制的时间,然后显示12小时制的时间。 输入格式: 输入在一行中给出带有中间的:符号(半角的冒号)的24小时制的时间,如12:34表示12点34分。当小时或分钟数小于10时,均没有前导的零,如5:6表示5点零6分。 https://www.jb51.net/article/215279.htm
6.python的time模块,以及12小时制与24小时制转换(时间转换)格式 含义%a 本地(locale)简化星期名称%A本地完整星期名称%b 本地简化月份名称%B本地完整月份名称%c 本地相应的日期和时间表示%d 一个月中的第几天(01-31)%H一天中的第几个小时(24小时制,00-23)%I第几个小时(12小时制,01-12)%j 一年中的第几天(001-366)%m 月份(01-12)%M分钟数(00-59)%p 本https://www.jianshu.com/p/9af83e147527
7.windows修改时间格式,12小时24小时时间制式windows 修改时间格式,12小时、24小时时间制式 默认时间是24小时制的,下面我打算改成12小时制的,带上午下午的。 点击右下角的时间就能出现这个界面,然后选择更改日期和时间设置。 更改日期和时间。 更改日历设置。 然后把长时间和短时间都设置前面带tt的就可以了。https://cloud.tencent.com/developer/article/1703208
8.如何调整元素的时间格式(12小时制或24小时制)?问题是它显示的时间是12小时制,但我希望它以24小时制显示。我该如何将其设置为24小时制? 这是我的输入字段: <input type="time" name="time" placeholder="小时:分钟" pattern="^([0-1]?[0-9]|2[0-4]):([0-5][0-9])(:[0-5][0-9])?$" class="inputs time" required> 2 https://www.php.cn/wenda/170335.html
9.十二小时制和二十四小时制之间的区别12小时制和24小时制对照表本文主要对比十二小时制和二十四小时制的差别,以及时间的换算规则。 并陈列一下各地日期和时间的表示方法, 以便以后测试中使用。 制度、换算规则和时间格式等相关内容摘自(wikipedia) 十二小时制度和二十四小时制度的区别: 具体换算规则 各地表示时间的格式如下https://blog.csdn.net/wutrg1502/article/details/107341512
10.输入一个24小时制的时间,转化为12小时制TimeConverter:该程序输入代表24小时制时间的4位数字,并将其转换为12小时制的时间。 SMU高级计算机编程和问题解决课程的作业#1:TimeConverter 该程序输入代表24小时制时间的4位数字,并将其转换为12小时制的时间。 作业说明: 编写一个程序TimeConverter.java,该程序将一个4位数字作为输入,该数字代表24小时制的时间(02https://www.iteye.com/resource/leomessi0624-11236478
11.centos12小时制和24小时制linux以12小时制显示当前时间%l : 小时(1..12)(小写的L) %M : 分钟(00..59) %S :秒(00..60) %p : 显示本地 AM 或 PM %r : 直接显示时间 (12 小时制,格式为 hh:mm:ss [AP]M) %s : 从 1970 年 1 月 1 日 00:00:00 UTC 到目前为止的秒数 %T : 直接显示时间 (24 小时制,hh:mm:ss) https://blog.51cto.com/u_16213715/11568882
12.Excel数据库中时间12小时制改成24小时制选中A列按CTRL+1 在数字下的日期内选择想用的格式 选中A列按CTRL+1 在数字下的时间内选择想用的https://www.3d66.com/answers/question_1208088.html
13.用Python怎样实现将输入的24小时转换并显示为12小时今天就跟大家聊聊有关“用Python怎样实现将输入的24小时转换并显示为12小时”的内容,可能很多人都不太了解,为了让大家认识和更进一步的了解,小编给大家总结了以下内容,希望这篇“用Python怎样实现将输入的24小时转换并显示为12小时”文章能对大家有帮助。 12-24小时制 编写一个程序,要求用户输入24小时制的时间,然https://m.qy.cn/jszx/detail/17241.html
14.华为nova12pro设置24小时制方法在华为nova12pro中,用户可通过“设置”>“系统”>“日期和时间”,选择“24小时制”,即可完成设置。 (图片来源网络,侵删) 如何在华为nova 12 Pro上设置24小时制 随着智能手机的广泛使用,用户对个性化设置的需求也越来越高,时间显示格式是用户经常调整的个性化设置之一,有些用户更喜欢使用24小时制来查看和设置时间,https://www.mingyunw.com/archives/8477.html
15.华为手机设置技巧:如何调整时间格式到24小时制?在华为手机上设置24小时制时间是一项简单的操作,通常用户可以在“设置”中进行调整。以下是详细的步骤及一些注意事项,帮助你准确地完成时间格式的更改。 1. 了解24小时制与12小时制 在12小时制中,时间以“AM”和“PM”表示,例如“10:00 AM”或“3:00 PM”。而在24小时制中,时间从“00:00”到“23:59”表https://m.sohu.com/a/803245938_121894855
16.c语言实现24小时制转换为12小时制示例cout<<"12-hours: " <<hour <<":" <<minute <<" " <<noon <<endl; void time_change(int& hour,int& minute,char& noon) if((hour>12&&hour<=24)&&(minute>=0&&minute<=60)) noon='P'; hour-=12; else if((hour>=0&&hour<12)&&(minute>=0&&minute<=60)) noon='A'; https://www.xiuzhanwang.com/a1/Cyuyan/3689.html
17.时间格式是12小时制的时间,如何显示成24小时制简介: SpringBoor连接mysql数据库取数据库中时间格式是12小时制的时间,如何显示成24小时制 方法一: 数据库时间小技巧 - 取数据库中时间格式是12小时制的时间,如何显示成24小时制 DateTime.ToString()或SimpleDateFormat(“”)的时候可以设置格式~hh是12小时制~HH是24小时制。 在java里面可以进行如下转换设置: https://developer.aliyun.com/article/1472485
18.12小时制和24小时制对应表上传人:q*** IP属地:河南上传时间:2020-12-19格式:DOC页数:1大小:29KB积分:12版权申诉 全文预览已结束 下载本文档 版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领 文档简介 12小时制 24小时制凌晨0:00 0:00凌晨1:00 1:00凌晨2:00 2:00凌晨3:00 3:https://www.renrendoc.com/paper/106989948.html
19.标准来了!!政府热线电话应15秒内接听7×24小时工作制!昨日,国家标准委发布了《政府热线服务规范》,其中规定,政府热线受理宜采取每周7天,每天24小时工作制,且电话受理时应在15秒之内接听。规范将于明年7月1日起正式实施。 连续24小时内呼叫接通率不低于95% 《政府热线服务规范》规定,政府热线受理宜采取每周7天,每天24小时工作制。电话受理时应在15秒之内接听,连续24小https://static.nfapp.southcn.com/content/201612/23/c225969.html