sql日期格式

sql日期格式
sql日期格式

关键字: sqlserver 日期, 字符串格式转换

SELECT convert(char,你的日期字段,120) as date2 FROM table mssql默认以系统时间格式输出,你可以调整系统的时间格式来解决

当然是在程序里解决比较灵活,convert(char,date,N)输出的各中样式

N 日期样式

0 04 2 2005 9:06AM

1 04/02/05

2 05.04.02

3 02/04/05

4 02.04.05

5 02-04-05

6 02 04 05

7 04 02, 05

8 09:06:18

9 04 2 2005 9:06:18:857AM

10 04-02-05

11 05/04/02

12 050402

13 02 04 2005 09:06:18:857

14 09:06:18:857

20 2005-04-02 09:06:18

21 2005-04-02 09:06:18.857

22 04/02/05 9:06:18 AM

23 2005-04-02

24 09:06:18

25 2005-04-02 09:06:18.857

100 04 2 2005 9:06AM

101 04/02/2005

102 2005.04.02

103 02/04/2005

104 02.04.2005

105 02-04-2005

106 02 04 2005

107 04 02, 2005

108 09:06:18

109 04 2 2005 9:06:18:857AM

110 04-02-2005

111 2005/04/02

112 20050402

113 02 04 2005 09:06:18:857

114 09:06:18:857

120 2005-04-02 09:06:18

121 2005-04-02 09:06:18.857

126 2005-04-02T09:06:18.857

sql to_char 日期转换字符串

2009-04-27 12:24

1、转换函数

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

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

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

如;to_date('2004-11-27 13:34:43', 'yyyy-mm-dd hh24:mi:ss') 将得到具体的时间

多种日期格式:

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> select to_char(sysdate,'yyyy-mm-dd hh24:mi:ss') time from dual;

TIME

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

2004-10-08 15:22:58

即把当前时间按yyyy-mm-dd hh24:mi:ss格式转换成字符类型

在oracle中处理日期大全

TO_DATE格式

Day:

dd number 12

dy abbreviated fri

day spelled out friday

ddspth spelled out, ordinal twelfth

Month:

mm number 03

mon abbreviated mar

month spelled out march

Year:

yy two digits 98

yyyy four digits 1998

24小时格式下时间范围为: 0:00:00 - 23:59:59....

12小时格式下时间范围为: 1:00:00 - 12:59:59 ....

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

1.

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

2.

select to_char( to_date(222,'J'),'Jsp') from dual

显示Two Hundred Twenty-Two

3.

求某天是星期几

select to_char(to_date('2002-08-26','yyyy-mm-dd'),'day') from dual;

星期一

select to_char(to_date('2002-08-26','yyyy-mm-dd'),'day','NLS_DATE_LANGUAGE = American') from dual;

monday

设置日期语言

ALTER SESSION SET NLS_DATE_LANGUAGE='AMERICAN';

也可以这样

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

4.

两个日期间的天数

select floor(sysdate - to_date('20020405','yyyymmdd')) from dual;

5. 时间为null的用法

select id, active_date from table1

UNION

select 1, TO_DATE(null) from dual;

注意要用TO_DATE(null)

6.

a_date between to_date('20011201','yyyymmdd') and to_date('20011231','yyyymmdd')

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

所以,当时间需要精确的时候,觉得to_char还是必要的

7. 日期格式冲突问题

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

'01-Jan-01'

alter system set NLS_DATE_LANGUAGE = American

alter session set NLS_DATE_LANGUAGE = American

或者在to_date中写

select to_char(to_date('2002-08-26','yyyy-mm-dd'),'day','NLS_DATE_LANGUAGE = American')

from dual;

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

可查看

select * from nls_session_parameters

select * from V$NLS_PARAMETERS

8.

select count(*)

from ( select rownum-1 rnum

from all_objects

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

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

)

where to_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.

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

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

1

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

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

1.03225806451613

10. Next_day的用法

Next_day(date, day)

Monday-Sunday, for format code DAY

Mon-Sun, for format code DY

1-7, for format code D

11

select to_char(sysdate,'hh:mi:ss') TIME from all_objects

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

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

create or replace function sys_date return date is

begin

return sysdate;

end;

select to_char(sys_date,'hh:mi:ss') from all_objects;

12.

获得小时数

SELECT EXTRACT(HOUR FROM TIMESTAMP '2001-02-16 2:38:40') from offer

SQL> select sysdate ,to_char(sysdate,'hh') from dual;

SYSDATE TO_CHAR(SYSDATE,'HH')

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

2003-10-13 19:35:21 07

SQL> select sysdate ,to_char(sysdate,'hh24') from dual;

SYSDATE TO_CHAR(SYSDATE,'HH24')

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

2003-10-13 19:35:21 19

获取年月日与此类似

13.

年月日的处理

select older_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,

newer_date,

older_date

from ( select hiredate older_date,

add_months(hiredate,rownum)+rownum newer_date

from emp )

)

14.

处理月份天数不定的办法

select to_char(add_months(last_day(sysdate) +1, -2), 'yyyymmdd'),last_day(sysdate) from dual

16.

找出今年的天数

select add_months(trunc(sysdate,'year'), 12) - trunc(sysdate,'year') from dual

闰年的处理方法

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

如果是28就不是闰年

17.

yyyy与rrrr的区别

'YYYY99 TO_C

------- ----

yyyy 99 0099

rrrr 99 1999

yyyy 01 0001

rrrr 01 2001

18.不同时区的处理

select to_char( NEW_TIME( sysdate, 'GMT','EST'), 'dd/mm/yyyy hh:mi:ss') ,sysdate from dual;

19.

5秒钟一个间隔

Select TO_DATE(FLOOR(TO_CHAR(sysdate,'SSSSS')/300) *

300,'SSSSS') ,TO_CHAR(sysdate,'SSSSS')

from dual

2002-11-1 9:55:00 35786

SSSSS表示5位秒数

20.

一年的第几天

select TO_CHAR(SYSDATE,'DDD'),sysdate from dual

310 2002-11-6 10: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

(

select

trunc(sysdate) Days,

sysdate - trunc(sysdate) A

from dual

)

select * from tabname

order by decode(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)是从当前开始下一个星期五。后面的数字是从星期日开始算起。

1 2 3 4 5 6 7

日一二三四五六

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

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

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

date_value:=add_months(date_value,number_of_months)

例:

SQL> select add_months(sysdate,12) "Next Year" from dual;

Next Year

----------

13-11月-04

SQL> select add_months(sysdate,112) "Last Year" from dual;

Last Year

----------

13-3月 -13

SQL>

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

date_value:=current_date

SQL> column sessiontimezone for a15

SQL> select sessiontimezone,current_date from dual;

SESSIONTIMEZONE CURRENT_DA

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

+08:00 13-11月-03

SQL> alter session set time_zone='-11:00'

2 /

会话已更改。

SQL> select sessiontimezone,current_timestamp from dual;

SESSIONTIMEZONE CURRENT_TIMESTAMP

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

-11:00 12-11月-03 04.59.13.668000 下午 -11:

00

3、current_timestamp()以timestamp with time zone数据类型返回当前会放时区中的当前日期timestamp_with_time_zone_value:=current_timestamp([timestamp_precision])

SQL> column sessiontimezone for a15

SQL> column current_timestamp format a36

SQL> select sessiontimezone,current_timestamp from dual;

SESSIONTIMEZONE CURRENT_TIMESTAMP

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

+08:00 13-11月-03 11.56.28.160000 上午 +08:

00

SQL> alter session set time_zone='-11:00'

2 /

会话已更改。

SQL> select sessiontimezone,current_timestamp from dual;

SESSIONTIMEZONE CURRENT_TIMESTAMP

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

-11:00 12-11月-03 04.58.00.243000 下午 -11:

00

SQL>

4、dbtimezone()返回时区

varchar_value:=dbtimezone

SQL> select dbtimezone from dual;

DBTIME

------

-07:00

SQL>

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

date_value:=extract(date_field from [datetime_value|interval_value])

SQL> select extract(month from sysdate) "This Month" from dual;

This Month

----------

11

SQL> select extract(year from add_months(sysdate,36)) "3 Years Out" from dual;

3 Years Out

-----------

SQL>

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

date_value:=last_day(date_value)

SQL> select last_day(date'2000-02-01') "Leap Yr?" from dual;

Leap Yr?

----------

29-2月 -00

SQL> select last_day(sysdate) "Last day of this month" from dual;

Last day o

----------

30-11月-03

SQL>

7、localtimestamp()返回会话中的日期和时间

timestamp_value:=localtimestamp

SQL> column localtimestamp format a28

SQL> select localtimestamp from dual;

LOCALTIMESTAMP

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

13-11月-03 12.09.15.433000

下午

SQL> select localtimestamp,current_timestamp from dual;

LOCALTIMESTAMP CURRENT_TIMESTAMP

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

13-11月-03 12.09.31.006000 13-11月-03 12.09.31.006000 下午 +08:

下午 00

SQL> alter session set time_zone='-11:00';

会话已更改。

SQL> select localtimestamp,to_char(sysdate,'DD-MM-YYYY HH:MI:SS AM') "SYSDATE" from dual;

LOCALTIMESTAMP SYSDATE

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

12-11月-03 05.11.31.259000 13-11-2003 12:11:31 下午

下午

SQL>

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

number_value:=months_between(date_value,date_value)

SQL> select months_between(sysdate,date'1971-05-18') from dual;

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

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

389.855143

SQL> select months_between(sysdate,date'2001-01-01') from dual;

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

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

34.4035409

SQL>

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

與周相關日期函數

1.查询某周的第一天

select trunc(decode(ww, 53, to_date(yy || '3112', 'yyyyddmm'), to_date(yy || '-' ||

to_char(ww * 7), 'yyyy-ddd')), 'd') last_day

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

from dual)

select

trunc(to_date(substr('2003-01',1,5)||to_char((to_number(substr('2003-01',6)))*7),'yyyy-ddd'),'d')-6 first_day from dual

select min(v_date) from

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

from all_tables

where rownum < 370)

where to_char(v_date,'yyyy-iw') = '2002-49'

2.查询某周的最后一天

select trunc(decode(ww, 53, to_date(yy || '3112', 'yyyyddmm'), to_date(yy || '-' ||

to_char(ww * 7), 'yyyy-ddd')), 'd') - 6 first_day

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

from dual)

select

trunc(to_date(substr('2003-01',1,5)||to_char((to_number(substr('2003-01',6)))*7),'yyyy-ddd'),'d') last_day from dual

select max(v_date) from

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

from all_tables

where rownum < 370)

where to_char(v_date,'yyyy-iw') = '2004-33'

3.查询某周的日期

select min_date, to_char(min_date,'day') day from

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

from all_tables

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

union

select to_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 from all_tables

where rownum <= 7

union

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

from all_tables

where rownum <= 7

)

where to_char(min_date,'yyyy-iw') ='2004-33'

Sql日期时间格式转换

Sql日期时间格式转换 sql server2000中使用convert来取得datetime数据类型样式(全) 日期数据格式的处理,两个示例: CONVERT(varchar(16), 时间一, 20) 结果:2007-02-01 08:02/*时间一般为getdate()函数或数据表里的字段*/ CONVERT(varchar(10), 时间一, 23) 结果:2007-02-01 /*varchar(10)表示日期输出的格式,如果不够长会发生截取*/ 语句及查询结果: Select CONVERT(varchar(100), GETDATE(), 0): 05 16 2006 10:57AM Select CONVERT(varchar(100), GETDATE(), 1): 05/16/06 Select CONVERT(varchar(100), GETDATE(), 2): 06.05.16 Select CONVERT(varchar(100), GETDATE(), 3): 16/05/06 Select CONVERT(varchar(100), GETDATE(), 4): 16.05.06 Select CONVERT(varchar(100), GETDATE(), 5): 16-05-06 Select CONVERT(varchar(100), GETDATE(), 6): 16 05 06 Select CONVERT(varchar(100), GETDATE(), 7): 05 16, 06 Select CONVERT(varchar(100), GETDATE(), 8): 10:57:46 Select CONVERT(varchar(100), GETDATE(), 9): 05 16 2006 10:57:46:827AM Select CONVERT(varchar(100), GETDATE(), 10): 05-16-06 Select CONVERT(varchar(100), GETDATE(), 11): 06/05/16 Select CONVERT(varchar(100), GETDATE(), 12): 060516 Select CONVERT(varchar(100), GETDATE(), 13): 16 05 2006 10:57:46:937 Select CONVERT(varchar(100), GETDATE(), 14): 10:57:46:967 Select CONVERT(varchar(100), GETDATE(), 20): 2006-05-16 10:57:47 Select CONVERT(varchar(100), GETDATE(), 21): 2006-05-16 10:57:47.157 Select CONVERT(varchar(100), GETDATE(), 22): 05/16/06 10:57:47 AM Select CONVERT(varchar(100), GETDATE(), 23): 2006-05-16 Select CONVERT(varchar(100), GETDATE(), 24): 10:57:47 Select CONVERT(varchar(100), GETDATE(), 25): 2006-05-16 10:57:47.250 Select CONVERT(varchar(100), GETDATE(), 100): 05 16 2006 10:57AM Select CONVERT(varchar(100), GETDATE(), 101): 05/16/2006

sql时间格式转换大全

Sqlserver中经常要操作一些时间类型的字段转换,我又不太记得住,所以搜集了以下的一些SqlserverConvert DateTime相关的资料发表在自己的小站里,方便自己以后要用的时候寻找,望对大家也有帮助. 将sqlserver中table表的[datetime]字段值‘2007-11-07 16:41:35.033’ 改为 ‘2007-11-07 00:00:00‘去除了时分秒.[datetime]字段要为datetime类型的哦.UPDATE table SET [datetime]= Convert(char(11),[datetime],120) 获取当前日期利用convert来转换成我们需要的datetime格式. select CONVERT(varchar(12) , getdate(), 112 ) 20040912 ------------------------------------------------------------ select CONVERT(varchar(12) , getdate(), 102 ) 2004.09.12 ------------------------------------------------------------ select CONVERT(varchar(12) , getdate(), 101 ) 09/12/2004 ------------------------------------------------------------ select CONVERT(varchar(12) , getdate(), 103 ) 12/09/2004 ------------------------------------------------------------ select CONVERT(varchar(12) , getdate(), 104 ) 12.09.2004 ------------------------------------------------------------ select CONVERT(varchar(12) , getdate(), 105 ) 12-09-2004 ------------------------------------------------------------ select CONVERT(varchar(12) , getdate(), 106 ) 12 09 2004 ------------------------------------------------------------ select CONVERT(varchar(12) , getdate(), 107 ) 09 12, 2004 ------------------------------------------------------------ select CONVERT(varchar(12) , getdate(), 108 ) 11:06:08 ------------------------------------------------------------ select CONVERT(varchar(12) , getdate(), 109 ) 09 12 2004 1 ------------------------------------------------------------ select CONVERT(varchar(12) , getdate(), 110 ) 09-12-2004 ------------------------------------------------------------ select CONVERT(varchar(12) , getdate(), 113 ) 12 09 2004 1

15-Excel中日期格式转换问题

Excel中日期格式转换问题 1.数字格式转年月日格式 工作表中出生年月日格式格式是如:198707141987090620090902如果想改成1987-7-14或改成1987年7月14日。 1、就用此函数插入一列如B列,B1=(LEFT(A1,4)&"-"&MID(A1,5,2)&"-"&RIGHT(A1,2));其它单元格可以用此公式自动填充,然后把此单元格设置成日期1987-7-14; 2、插入一列如B列,B1=(LEFT(A1,4)&"年"&MID(A1,5,2)&"月"&RIGHT(A1,2)&"日");其它单元格可以用此公式自动填充,然后把此单元格设置成日期1987年7月14日。 把这种格式2009.9.2转换成2009-09-02这样的格式:假如原始数据在A列从A1开始,则在B1输入公式=TEXT(SUBSTITUTE(A1,".","-"),"yyyy-mm-dd"),然后下拉复制公式即可。 2.在Excel中将非日期格式数据转换为日期格式 如果Excel表格中有大量的类似“19841006”、“19841029”非日期格式的数据要转换为日期格式,如“1984-10-6”,可以用分列的方法: 1).选择需要转换单元格或区域,单击菜单“数据→分列”,弹出“文本分列向导-3之步骤1”对话框。如果是Excel2007,则在功能区中选择“数据”选项卡,在“数据工具”组中,单击“分列”按钮。

2).单击两次“下一步”,在“文本分列向导-3之步骤3”中,在“列数据格式”中选择“日期”。还可以根据需要,在其后的下拉列表中选择一种日期格式。本例为默认的“YMD”格式。 3).单击“完成”按钮,Excel会在原单元格或区域中将数值格式的“19841006”和文本格式的“1984.10.6”转换为日期格式“1984-10-6”。 另外,对于“1984.10.6”文本格式的数据,还可以将“.”替换为“-”,也可以转换为日期格式。 3.将日期格式转换为数字格式 在日期后插入一列取函数=text(a1,"yyyymmddhhmm")yyyy表示年mm表示月dd表示日hh表示时mm表示分a1表示日期位置(第一行第一列),然后向下拖曳填充即可改变其他各行日期 4.Excel文本日期转换为日期格式 什么是序列号? Excel可将日期存储为可用于计算的序列号。默认情况下,1900年1月1日的序列号为1,2008年1月1日的序列号为39,448,这是因为它距1900年1月1日有39,448天。 2、若要将转换公式复制到相邻单元格的区域中,请选择在其中键入公式的单元格,然后拖动填充柄,使之覆盖大小与包含文本日期的单元格区域匹配的空单元格区域。 拖动填充柄之后,应有序列号与包含文本日期的单元格区域相对应的单元格区域。

SQL日期语句大全

SQL日期语句大全 --本周第一天 SELECT DATEADD(Day,1-(DATEPART(Weekday,getdate())+@@DATEFIRST-1)%7,getdate()) --or select dateadd(wk, datediff(wk,0,getdate()), 0) --本周第一天 select dateadd(wk, datediff(wk,0,getdate()), 6) --上月第一天 SELECT CONVERT(CHAR(10),DATEADD(month,-1,DATEADD(dd,-DAY(GETDATE())+1,GETDATE())),111) --上月最后一天 SELECT CONVERT(CHAR(10),DATEADD(ms,-3,DATEADD(mm, DATEDIFF(mm,0,getdate()),0)),111)+' 23:59:59' --本月第一天 select dateadd(dd,-datepart(dd,getdate())+1,getdate()) --本月最后一天 select dateadd(dd,-datepart(dd,getdate()) ,dateadd(mm,1,getdate())) --本月天数 select datediff(dd,dateadd(dd,-datepart(dd,getdate())+1,getdate()), dateadd(dd,-datepart(dd,getdate())+1,dateadd(mm,1,getdate()))) --or select datepart(dd,dateadd(dd,-1,dateadd(mm,1,cast(cast(year(getdate()) as varchar)+'-'+cast(month(getdate()) as varchar)+'-01' as datetime)))) --下月第一天 select dateadd(dd,-datepart(dd,getdate())+1,dateadd(mm,1,getdate())) --下月最后一天 SELECT CONVERT(CHAR(10),DATEADD(ms,-3,DATEADD(mm,DATEDIFF(m,0,getdate())+2,0)),111)+' 23:59:59' --季度第一天 SELECT DATEADD(qq, DATEDIFF(qq,0,getdate()), 0) --季度最后一天(直接推算法) SELECT DATEADD(Day,-1,CONVERT(char(8),DATEADD(Month,1+DATEPART(Quarter,getdate())*3-Month(g etdate()),getdate()),120)+'1') --季度的最后一天(CASE判断法) select DATEADD(Month,DATEPART(Quarter,getdate())*3-Month(getdate()),getdate()) --本月第一个星期一 SELECT DATEADD(wk, DATEDIFF(wk, '', DATEADD(dd, 6 - DAY(getdate()), getdate())), '') --去年最后一天 SELECT dateadd(ms,-3,DATEADD(yy, DATEDIFF(yy,0,getdate()), 0))

日期格式转换

function strlen(str) { var len = 0; for (var i = 0; i < str.length; i++) { var c = str.charCodeAt(i); //单字节加1 if ((c >= 0x1 && c <= 0x007e) (0xff60 <= c && c <= 0xff9f)) { len++; } else { len += 2; } } return len; } function Todate(num) { //Fri Oct 31 18:00:00 UTC+0800 2008 Wed Jul 15 2015 00:00:00 GMT+0800 Mon Dec 26 00:00:00 UTC+0800 2008 num = num + ""; var date = ""; var month = new Array(); month["Jan"] = 1; month["Feb"] = 2; month["Mar"] = 3; month["Apr"] = 4; month["May"] = 5; month["Jun"] = 6; month["Jul"] = 7; month["Aug"] = 8; month["Sep"] = 9; month["Oct"] = 10; month["Nov"] = 11; month["Dec"] = 12; var week = new Array(); week["Mon"] = "一"; week["Tue"] = "二"; week["Wed"] = "三"; week["Thu"] = "四"; week["Fri"] = "五"; week["Sat"] = "六"; week["Sun"] = "日"; str = num.split(" "); date = str[5] + "-"; //var count = strlen(month[str[1]]); var yue=month[str[1]]; var ri= str[2]; // alert(ri); // alert(countt); // var m = month[str[1]]; var m =""; if (yue == 1 ||yue==2 || yue==3 || yue==4 || yue==5 || yue==6 || yue==7 || yue==8 || yue==9) { m ="0"+month[str[1]]; }else{ m = month[str[1]];}

Excel中如何将日期格式进行转换

在EXCEL中如何将日期格式转换 如何将格式转换成1900-01-01的格式? 如果日期所在单元格在A列,并从A1开始。 1、插入一辅助列B列, 2、在B1输入:=MID(A1,1,4)&-MID(A1,5,2)&-MID(A1,7,2)回车, 3、向下填充该公式。 4、选中B列→复制→粘贴→选择性粘贴→数值→确定 5、删除A列 在EXCEL中如何利用身份证号码提取出生时间 假设身份证号在A1,时间格式为1900-1-1 =IF(LEN(A1)=15,"19"&MID(A1,7,2)&"-"&MID(A1,9,2)&"-"&MID(A1,11,2),MID(A1,7,4)&"-"&MID(A1 ,11,2)&"-"&MID(A1,13,2)) 在EXCEL中如何利用身份证号码提取性别 =IF(LEN(A1)=15,IF(MOD(MID(A1,15,1),2)=1,"男","女") , IF(MOD(MID(A1,17,1),2)=1,"男","女") ) 在EXCEL中如何利用身份证号码计算周岁 假设身份证号在C1,时间格式为1900-1-1,出生时间为X 答案1: =DATEDIF(IF(LEN(A1)=15,"19"&MID(A1,7,2)&"-"&MID(A1,9,2)&"-"&MID(A1,11,2),MID(A1,7,4)&"-" &MID(A1,11,2)&"-"&MID(A1,13,2)),TODAY(),”y”) 简化之:=DATEDIF(X,TODAY(),”y”) 答案2: =TEXT(TODAY()-IF(LEN(C1)=15,"19"&MID(C1,7,2)&"-"&MID(C1,9,2)&"-"&MID(C1,11,2),MID(C1,7,4) &"-"&MID(C1,11,2)&"-"&MID(C1,13,2 )),"yy") 简化之:=TEXT(TODAY()-X,”yy”) 在EXCEL中如何利用身份证号码计算周岁 假设身份证号在C1: =IF(C1="","",IF(IF(LEN(C1)=15,"19"&MID(C1,7,2)&"-"&MID(C1,9,2)&"-"&MID(C1,11,2),MID(C1,7,4) &"-"&MID(C1,11,2)&"-"&MID(C1,13,2))>"2009-12-31","",TEXT(TODAY()-IF(LEN(C1)=15,"19"&MID( C1,7,2)&"-"&MID(C1,9,2)&"-"&MID(C1,11,2),MID(C1,7,4)&"-"&MID(C1,11,2)&"-"&MID(C1,13,2))," yy")))

日期格式转换

reference DateTime(c#) 立立发表于 2007-6-18 9:55:00 1、DateTime 数字型 System.DateTime currentTime=new System.DateTime(); 1.1 取当前年月日时分秒 currentTime=System.DateTime.Now; 1.2 取当前年 int 年=currentTime.Year; 1.3 取当前月 int 月=currentTime.Month; 1.4 取当前日 int 日=currentTime.Day; 1.5 取当前时 int 时=currentTime.Hour; 1.6 取当前分 int 分=currentTime.Minute; 1.7 取当前秒 int 秒=currentTime.Second; 1.8 取当前毫秒 int 毫秒=https://www.360docs.net/doc/217984104.html,lisecond; (变量可用中文) 1.9 取中文日期显示——年月日时分 string strY=currentTime.ToString("f"); //不显示秒 1.10 取中文日期显示_年月 string strYM=currentTime.ToString("y"); 1.11 取中文日期显示_月日 string strMD=currentTime.ToString("m"); 1.12 取中文年月日 string strYMD=currentTime.ToString("D"); 1.13 取当前时分,格式为:14:24 string strT=currentTime.ToString("t"); 1.14 取当前时间,格式为:2003-09-23T14:46:48 string strT=currentTime.ToString("s"); 1.15 取当前时间,格式为:2003-09-23 14:48:30Z string strT=currentTime.ToString("u");

SQL日期格式参考

SQL 日期格式大全 在函数CONVERT()中你可以使用许多种不同风格的日期和时间格式。 0) Default mon dd yyyy hh:miAM 1) USA mm/dd/yy 2) ANSI yy.mm.dd 3) British/French dd/mm/yy 4) German dd.mm.yy 5) Italian dd-mm-yy 6) - dd mon yy 7) - mon dd,yy 8) - hh:mi:ss 9) Default + milliseconds--mon dd yyyy hh:mi:ss:mmmAM(or ) 10) USA mm-dd-yy 11) JAPAN yy/mm/dd 12) ISO yymmdd 13) Europe Default + milliseconds--dd mon yyyy hh:mi:ss:mmm(24h) 14) - hh:mi:ss:mmm(24h) 类型0,9,和13总是返回四位的年。对其它类型,要显示世纪,把style值加上100。类型13和14返回24小时时钟的时间。类型0,7,和13返回的月份用三位字符表示(用Nov代表November)。 对表11.1中所列的每一种格式,你可以把类型值加上100来显示有世纪的年(例如,00年将显示为2000年)。例如,要按日本标准显示日期,包括世纪,你应使用如下的语句: SELECT CONVERT(VARCHAR(30),GETDATE(),111) 在这个例子中,函数CONVERT()把日期格式进行转换,显示为2001/11/30 网友跟贴: 1. 日期格式样式,借以将 datetime 或 smalldatetime 数据转换为字符数据(nchar、nvarchar、char、varchar、nchar 或nvarchar 数据类型);或者字符串格式样式,借以将 float、real、money 或 smallmoney 数据转换为字符数据(nchar、nvarchar、char、varchar、nchar 或 nvarchar 数据类型)。 SQL Server 支持使用科威特算法的阿拉伯样式中的数据格式。 在表中,左侧的两列表示将 datetime 或 smalldatetime 转换为字符数据的 style 值。给 style 值加 100,可获得包括世纪数位的四位年份 (yyyy)。 不带世纪数位 (yy) 带世纪数位 (yyyy) 标准输入/输出** - 0 或 100 (*) 默认值 mon dd yyyy hh:miAM(或 PM) 1 101 美国 mm/dd/yyyy 2 102 ANSI yy.mm.dd 3 103 英国/法国 dd/mm/yy 4 104 德国 dd.mm.yy 5 105 意大利 dd-mm-yy 6 106 - dd mon yy

日期格式转换

2011-04-22 15:10 Excel中日期格式转换问题 Excel中日期格式转换问题 1.数字格式转年月日格式 工作表中出生年月日格式格式是如:19870714 19870906 20090902如果想改成1987-7-14或改成1987年7月14日。 1、就用此函数插入一列如B列, B1=(LEFT(A1,4)&"-"&MID(A1,5,2)&"-"&RIGHT(A1,2)); 其它单元格可以用此公式自动填充,然后把此单元格设置成日期1987-7-14 ; 2、插入一列如B列,B1=(LEFT(A1,4)&"年"&MID(A1,5,2)&"月"&RIGHT(A1,2)&"日"); 其它单元格可以用此公式自动填充,然后把此单元格设置成日期1987年7月14 日。 把这种格式2009.9.2转换成2009-09-02这样的格式:假如原始数据在A 列从A1开始,则在B1输入公式=TEXT(SUBSTITUTE(A1,".","-"),"yyyy-mm-dd"),然后下拉复制公式即可。 2.在Excel中将非日期格式数据转换为日期格式 如果Excel表格中有大量的类似“19841006”、“19841029”非日期格式的数据要转换为日期格式,如“1984-10-6”,可以用分列的方法: 1).选择需要转换单元格或区域,单击菜单“数据→分列”,弹出“文本分列向导- 3之步骤1”对话框。如果是Excel 2007,则在功能区中选择“数据”选项卡,在“数据工具”组中,单击“分列”按钮。

Excel中 的日期格式转换问题

Excel中日期格式转换问题 工作表中出生年月格式格式是如:19870705 19861106 19881109如果想改成1987-7-5或改成1987年7月7日。1、就用此函数插入一列如B列,B1=(LEFT(A1,4)&"-"&MID(A1,5,2)&"-"&RIGHT(A1,2))+0 其它单元格可以用此公式自动填充。然后把此单元格设置成日期2001-3-14 ;2、插入一列如B列 B1=(LEFT(A1,4)&"年"&MID(A1,5,2)&"月"&RIGHT(A1,2)&"日")+0 其它单元格可以用此公式自动填充。然后把此单元格设置成日期2001年3月14 日。 把这种格式2009.2.22转换成2009-02这样的格式:假如原始数据在A列从A1开始,则在B1输入公式=TEXT(SUBSTITUTE(A1,".","-"),"yyyy-mm"),然后下拉复制公式即可。 在Excel中将非日期格式数据转换为日期格式 如果Excel表格中有大量的类似“20090510”、“2009.5.10”非日期格式的数据要转换为日期格式,如“2009-5-10”,可以用分列的方法: 1.选择需要转换单元格或区域,单击菜单“数据→分列”,弹出“文本分列向导- 3之步骤1”对话框。如果是Excel 2007,则在功能区中选择“数据”选项卡,在“数据工具”组中,单击“分列”按钮。 2.单击两次“下一步”,在“文本分列向导- 3之步骤3”中,在“列数据格式”中选择“日期”。还可以根据需要,在其后的下拉列表中选择一种日期格式。本例为默认的“YMD”格式。 3.单击“完成”按钮,Excel会在原单元格或区域中将数值格式的“20090510”和文本格式的 “2009.5.10”转换为日期格式“2009-5-10”。 另外,对于“2009.5.10”文本格式的数据,还可以将“.”替换为“-”,也可以转换为日期格式。 在EXCEL中如何利用身份证号码计算出生年月年龄及性别 1、身份证号码简介(18位): 1~6位为地区代码;7~10位为出生年份;11~12位为出生月份;13~14位为出生日期;15~17位为顺序号,并能够判断性别,奇数为男,偶数为男;第18位为校验码。 2、确定“出生日期”: 18位身份证号码中的生日是从第7位开始至第14位结束。提取出来后为了计算“年龄”应该将“年”“月”“日”数据中添加一个“/”或“-”分隔符。 ①正确输入了身份证号码。(假设在D2单元格中) ②将光标定位在“出生日期”单元格(E2)中,然后在单元格中输入函数公式 “=MID(D2,7,4)&"-"&MID(D2,11,2)&"-"&MID(D2,13,2)”即可计算出“出生日期”。

数据库日期格式处理(Oracle)

TO_DATE格式(以时间:2007-11-02 13:45:25为例) Year: yy two digits 两位年显示值:07 yyy three digits 三位年显示值:007 yyyy four digits 四位年显示值:2007 Month: mm number 两位月显示值:11 mon abbreviated 字符集表示显示值:11月,若是英文版,显示nov month spelled out 字符集表示显示值:11月,若是英文版,显示november Day: dd number 当月第几天显示值:02 ddd number 当年第几天显示值:02 dy abbreviated 当周第几天简写显示值:星期五,若是英文版,显示fri day spelled out 当周第几天全写显示值:星期五,若是英文版,显示friday ddspth spelled out, ordinal twelfth Hour: hh two digits 12小时进制显示值:01 hh24 two digits 24小时进制显示值:13 Minute: mi two digits 60进制显示值:45 Second: ss two digits 60进制显示值:25 其它 Q digit 季度显示值:4 WW digit 当年第几周显示值:44 W digit 当月第几周显示值:1 24小时格式下时间范围为: 0:00:00 - 23:59:59.... 12小时格式下时间范围为: 1:00:00 - 12:59:59 .... 1. 日期和字符转换函数用法(to_date,to_char) select to_char(sysdate,'yyyy-mm-dd hh24:mi:ss') as nowTime from dual; //日期转化为字符串 select to_char(sysdate,'yyyy') as nowYear from dual; //获取时间的年 select to_char(sysdate,'mm') as nowMonth from dual; //获取时间的月 select to_char(sysdate,'dd') as nowDay from dual; //获取时间的日

R语言与格式、日期格式、格式转化

标签: R 日期格式日期差代码时间处理 分类:目录(?)[+] R语言与格式、日期格式、格式转化 2016-02-16 22:12 1624人阅读 评论(0) 收藏 举报 版权声明:本文为博主原创文章,未经博主允许不得转载。 R语言的基础包中提供了两种类型的时间数据,一类是Date日期数据,它不包括时间和时区信息,另一类是 POSIXct/POSIXlt类型数据,其中包括了日期、时间和时区信息。基本总结如下: 日期data,存储的是天; 时间POSIXct 存储的是秒,POSIXlt 打散,年月日不同; 日期-时间=不可运算。 一般来讲,R语言中建立时序数据是通过字符型转化而来,但由于时序数据形式多样,而且R中存贮格式也是五花八门,例如Date/ts/xts/zoo/tis/fts等等。lubridate包,timeDate包,都有用。 常见的格式: as.numeric 转化为数值型 as.logic 转化为逻辑型 https://www.360docs.net/doc/217984104.html,plex 转化为复数型 as.character 转化为字符型 as.array 转化为数组 as.data.frame 转化为数据框 在data.frame中,是可以实现数据集重命名的,比如data.frame(x=iris,y=cars), 也可以实现横向、纵向重命名,data.frame(x=iris,y=cars,https://www.360docs.net/doc/217984104.html,s=iris) —————————————————————————————————————————— 时间的标准格式 mydate = as.POSIXlt(’2005-4-19 7:01:00’)names(mydate) 默认情况下,日期之前是以/或者-进行分隔,而时间则以:进行分隔; 输入的标准格式为:日期 时间(日期与时间中间有空隔隔开) R的数据读入与基础(1)(20) [plain] view plain copy print ? 01. d<‐as.character(z) #将数值向量z<‐(0:9)转化为字符向量c("0", "1", "2", ..., "9")。 02. as.integer(d) #将d 转化为数值向量 03. e <‐ numeric() #产生一个numeric 型的空向量e 04. a=data.frame(a) #变成R 的数据框 05. factor() #变成因子 可以用levels()来看因子个数

SQL Server日期格式的转换

SQL Server日期格式的转换 2004-09 余枫 SQL Server中文版的默认的日期字段datetime格式是yyyy-mm-dd Thh:mm:ss.mmm 例如: select getdate() 2004-09-12 11:06:08.177 这对于在要不同数据库间转移数据或者习惯oracle日期格式YYYY-MM-DD HH24:MI:SS的人多少有些不方便. 我整理了一下SQL Server里面可能经常会用到的日期格式转换方法: 举例如下: select CONVERT(varchar, getdate(), 120 ) 2004-09-12 11:06:08 select replace(replace(replace(CONVERT(varchar, getdate(), 120 ),'-',''),' ',''),':','') 20040912110608 select CONVERT(varchar(12) , getdate(), 111 ) 2004/09/12 select CONVERT(varchar(12) , getdate(), 112 ) 20040912 select CONVERT(varchar(12) , getdate(), 102 ) 2004.09.12 其它我不常用的日期格式转换方法: select CONVERT(varchar(12) , getdate(), 101 ) 09/12/2004 select CONVERT(varchar(12) , getdate(), 103 ) 12/09/2004 select CONVERT(varchar(12) , getdate(), 104 ) 12.09.2004

Excel中日期格式转换问题

Excel中日期格式转换问题 1.数字格式转年月日格式 工作表中出生年月日格式格式是如:19870714 19870906 20090902如果想改成1987-7-14或改成1987年7月14日。 1、就用此函数插入一列如B列, B1=(LEFT(A1,4)&"-"&MID(A1,5,2)&"-"&RIGHT(A1,2)); 其它单元格可以用此公式自动填充,然后把此单元格设置成日期1987-7-14 ; 2、插入一列如B列,B1=(LEFT(A1,4)&"年"&MID(A1,5,2)&"月"&RIGHT(A1,2)&"日"); 其它单元格可以用此公式自动填充,然后把此单元格设置成日期1987年7月14 日。 把这种格式2009.9.2转换成2009-09-02这样的格式:假如原始数据在A列从 A1开始,则在B1输入公式=TEXT(SUBSTITUTE(A1,".","-"),"yyyy-mm-dd"),然后下拉复制公式即可。 2.在Excel中将非日期格式数据转换为日期格式 如果Excel表格中有大量的类似“19841006”、“19841029”非日期格式的数据要转换为日期格式,如“1984-10-6”,可以用分列的方法: 1).选择需要转换单元格或区域,单击菜单“数据→分列”,弹出“文本分列向导- 3之步骤1”对话框。如果是Excel 2007,则在功能区中选择“数据”选项卡,在“数据工具”组中,单击“分列”按钮。 2).单击两次“下一步”,在“文本分列向导- 3之步骤3”中,在“列数据格式”中选择“日期”。还可以根据需要,在其后的下拉列表中选择一种日期格式。本例为默认的“YMD”格式。 3).单击“完成”按钮,Excel会在原单元格或区域中将数值格式的“19841006”和文本格式的“1984.10.6”转换为日期格式“1984-10-6”。 另外,对于“1984.10.6”文本格式的数据,还可以将“.”替换为“-”,也可以转换为日期格式。 3.将日期格式转换为数字格式 在日期后插入一列取函数 =text(a1,"yyyymmddhhmm") yyyy表示年mm表示月dd表示日hh表示时mm表示分 a1表示日期位置(第一行第一列),然后向下拖曳填充即可改变其他各行日期 4.Excel文本日期转换为日期格式

日期格式大全

Java中日期格式转换 /** * 字符串转换为java.util.Date
* 支持格式为 yyyy.MM.dd G 'at' hh:mm:ss z 如 '2002-1-1 AD at 22:10:59 PSD'
* yy/MM/dd HH:mm:ss 如 '2002/1/1 17:55:00'
* yy/MM/dd HH:mm:ss pm 如 '2002/1/1 17:55:00 pm'
* yy-MM-dd HH:mm:ss 如 '2002-1-1 17:55:00'
* yy-MM-dd HH:mm:ss am 如 '2002-1-1 17:55:00 am'
* @param time String 字符串
* @return Date 日期
*/ public static Date stringToDate(String time){ SimpleDateFormat formatter; int tempPos=time.indexOf("AD") ; time=time.trim() ; formatter = new SimpleDateFormat ("yyyy.MM.dd G 'at' hh:mm:ss z"); if(tempPos>-1){ time=time.substring(0,tempPos)+ "公元"+time.substring(tempPos+"AD".length());//china formatter = new SimpleDateFormat ("yyyy.MM.dd G 'at' hh:mm:ss z"); } tempPos=time.indexOf("-"); if(tempPos>-1&&(time.indexOf(" ")<0)){ formatter = new SimpleDateFormat ("yyyyMMddHHmmssZ"); } else if((time.indexOf("/")>-1) &&(time.indexOf(" ")>-1)){ formatter = new SimpleDateFormat ("yyyy/MM/dd HH:mm:ss"); } else if((time.indexOf("-")>-1) &&(time.indexOf(" ")>-1)){ formatter = new SimpleDateFormat ("yyyy-MM-dd HH:mm:ss"); } else if((time.indexOf("/")>-1) &&(time.indexOf("am")>-1) ||(time.indexOf("pm")>-1)){ formatter = new SimpleDateFormat ("yyyy-MM-dd KK:mm:ss a"); } else if((time.indexOf("-")>-1) &&(time.indexOf("am")>-1) ||(time.indexOf("pm")>-1)){ formatter = new SimpleDateFormat ("yyyy-MM-dd KK:mm:ss a"); } ParsePosition pos = new ParsePosition(0); java.util.Date ctime = formatter.parse(time, pos); return ctime;

sql日期格式

关键字: sqlserver 日期, 字符串格式转换 SELECT convert(char,你的日期字段,120) as date2 FROM table mssql默认以系统时间格式输出,你可以调整系统的时间格式来解决 当然是在程序里解决比较灵活,convert(char,date,N)输出的各中样式 N 日期样式 0 04 2 2005 9:06AM 1 04/02/05 2 05.04.02 3 02/04/05 4 02.04.05 5 02-04-05 6 02 04 05 7 04 02, 05 8 09:06:18 9 04 2 2005 9:06:18:857AM 10 04-02-05 11 05/04/02 12 050402 13 02 04 2005 09:06:18:857 14 09:06:18:857 20 2005-04-02 09:06:18 21 2005-04-02 09:06:18.857 22 04/02/05 9:06:18 AM 23 2005-04-02 24 09:06:18 25 2005-04-02 09:06:18.857 100 04 2 2005 9:06AM 101 04/02/2005 102 2005.04.02 103 02/04/2005 104 02.04.2005 105 02-04-2005 106 02 04 2005 107 04 02, 2005 108 09:06:18 109 04 2 2005 9:06:18:857AM 110 04-02-2005 111 2005/04/02 112 20050402 113 02 04 2005 09:06:18:857 114 09:06:18:857 120 2005-04-02 09:06:18 121 2005-04-02 09:06:18.857 126 2005-04-02T09:06:18.857

相关文档
最新文档