js、sql server、oracle中时间函数的简单简介

来源:互联网 发布:我的淘宝好评怎么删除 编辑:程序博客网 时间:2024/05/17 08:25
js 时间的函数


myDate = new Date();
myDate.getYear();        //获取当前年份(2位)
myDate.getFullYear();    //获取完整的年份(4位,1970-????)
myDate.getMonth();       //获取当前月份(0-11,0代表1月)
myDate.getDate();        //获取当前日(1-31)
myDate.getDay();         //获取当前星期X(0-6,0代表星期天)
myDate.getTime();        //获取当前时间(从1970.1.1开始的毫秒数)
myDate.getHours();       //获取当前小时数(0-23)
myDate.getMinutes();     //获取当前分钟数(0-59)
myDate.getSeconds();     //获取当前秒数(0-59)
myDate.getMilliseconds();    //获取当前毫秒数(0-999)
myDate.toLocaleDateString();     //获取当前日期
var mytime=myDate.toLocaleTimeString();     //获取当前时间
myDate.toLocaleString( );        //获取日期与时间


sql server 中的时间函数


1.  当前系统日期、时间 
    select getdate() 


2. dateadd  在向指定日期加上一段时间的基础上,返回新的 datetime 值:
   例如:向日期加上2天 
   select dateadd(day,2,'2004-10-15')  --返回:2004-10-17 00:00:00.000


3. datediff 返回跨两个指定日期的日期和时间边界数:
   select datediff(day,'2004-09-01','2004-09-18')   --返回:17


4. datepart 返回代表指定日期的指定日期部分的整数:
  SELECT DATEPART(month, '2004-10-15')  --返回 10


5. datename 返回代表指定日期的指定日期部分的字符串:
   SELECT datename(weekday, '2004-10-15')  --返回:星期五


6. day(), month(),year() --可以与datepart对照一下:


.net 中的时间函数


DateTime相关属性
  DateTime 日期=DateTime.Today;  
   'Today'获取当前日期
  DateTime dt = DateTime.Now;                   
   'Now'获取当前时间包括年月日时分秒
   'Date'获取当前实例dt的日期部分
  'Day'获取当前实例dt所表示是的日期为该月中的第几天,即日
   'DayOfWeek'获取当前实例dt所表示的日期是星期几
   'DayOfYear'获取当前实例dt所表示的日期是一年中的第几天
  'Hour'获取当前实例dt所表示日期的小时部分
   'Milliscond'获取当前实例dt所表示日期的毫秒部分
   'Minute'获取当前实例dt所表示日期的分钟部分
   'Month'获取当前实例dt所表示日期的月份
  'Second'获取当前实例dt所表示日期的秒
   'TimeOfDay'获取当前实例dt所表示日期的时间部分
   'Year'获取当前实例dt所表示日期的的年份




DateTime相关方法:
  1.Add方法:将指定的TimeSpan的值加到实例的值上
    2.AddDays方法:将指定的天数加到实例的值上public DateTime AddDays (
  3.AddHours:将指定的小时加到实例的值上
  4.AddMilliseconds:将指定的毫秒数加到实例的值上
  5.AddMinute:同上
  6.AddMonths:同上
  7.AddSeconds:同上
  8.AddYears:同上
  9.Compare:比较DateTime的两个实例,并返回他们的相对值的指示。
  public static int Compare (
  DateTime t1,
  DateTime t2
  )
  实例如下: DateTime dt1 = new DateTime(100);        DateTime dt2 = new DateTime(200);        if (DateTime.Compare(dt1, dt2) > 0)            Response.Write("dt1 > dt2");        if (DateTime.Compare(dt1, dt2) == 0)            Response.Write("dt1=dt2");        if (DateTime.Compare(dt1, dt2) < 0)            Response.Write("dt1 < dt2");
  10.CompareTo:将此实例与指定对象进行比较并返回一个对二者的相对值(int)的指示。
  如:DateTime dt1 = new DateTime(100);        DateTime dt2 = new DateTime(200);        int i=dt1.CompareTo(dt2);        Response.Write(i);
  11.DaysInMonth:返回指定年和月中的天数。
  如:int i = DateTime.DaysInMonth(2010, 1);        Response.Write(i);
  12.Equals方法:返回一个值,该值指示此实例是否与指定的 DateTime 实例相等。返回bool(true或false)
  如: DateTime dt1 = DateTime.Now.AddDays(1);        DateTime dt2 = DateTime.Now;        Response.Write(dt1.Equals(dt2));
  13.ToLongDateString 将此实例的值转换为其等效的长日期字符串表示形式。
  14.ToLongTimeString 将此实例的值转换为其等效的长时间字符串表示形式。
  15.ToShortDateString 将此实例的值转换为其等效的短日期字符串表示形式。
  16.ToShortTimeString 将此实例的值转换为其等效的短时间字符串表示形式










oracle 中的时间函数


一、 常用日期数据格式


1.Y或YY或YYY 年的最后一位,两位或三位
SQL> Select to_char(sysdate,'Y') from dual;
TO_CHAR(SYSDATE,'Y')
--------------------
7
SQL> Select to_char(sysdate,'YY') from dual;
TO_CHAR(SYSDATE,'YY')
---------------------
07
SQL> Select to_char(sysdate,'YYY') from dual;
TO_CHAR(SYSDATE,'YYY')
----------------------
007
2.Q 季度 1~3月为第一季度,2表示第二季度。
SQL> Select to_char(sysdate,'Q') from dual;
TO_CHAR(SYSDATE,'Q')
--------------------
2
3.MM 月份数
SQL> Select to_char(sysdate,'MM') from dual;
TO_CHAR(SYSDATE,'MM')
---------------------
05
4.RM 月份的罗马表示 (V在罗马数字中表示 5)
SQL> Select to_char(sysdate,'RM') from dual;
TO_CHAR(SYSDATE,'RM')
---------------------
V
5.Month 用9个字符长度表示的月份名
SQL> Select to_char(sysdate,'Month') from dual;
TO_CHAR(SYSDATE,'MONTH')
------------------------
5月
6.WW 当年第几周 (2007年5月29日为2007年第22周)
SQL> Select to_char(sysdate,'WW') from dual;
TO_CHAR(SYSDATE,'WW')
---------------------
22
7.W 本月第几周 (2007年5月29日为5月第5周)
SQL> Select to_char(sysdate,'W') from dual;
TO_CHAR(SYSDATE,'W')
--------------------
5
8.DDD 当年第几天 (2007年5月29日为2007年第149天)
SQL> Select to_char(sysdate,'DDD') from dual;
TO_CHAR(SYSDATE,'DDD')
----------------------
149
9. DD 当月第几天
SQL> Select to_char(sysdate,'DD') from dual;
TO_CHAR(SYSDATE,'DD')
---------------------
29
10.D 周内第几天
SQL> Select to_char(sysdate,'D') from dual;
TO_CHAR(SYSDATE,'D')
--------------------
3
11.DY 中文的星期几 ( (2007年5月29日为星期二))
SQL> Select to_char(sysdate,'DY') from dual;
TO_CHAR(SYSDATE,'DY')
---------------------
星期二
12.HH或HH12 12进制小时数 (16:09分为用12小时制计时为4点)
SQL> Select to_char(sysdate,'HH') from dual;
TO_CHAR(SYSDATE,'HH')
---------------------
04
13.HH24 24小时制
SQL> Select to_char(sysdate,'HH24') from dual;
TO_CHAR(SYSDATE,'HH24')
-----------------------
16
二、常用时间函数
1.trunc(sysdate,'Q') 本季度第一天
SQL> select trunc(sysdate,'Q') from dual;
TRUNC(SYSDATE,'Q')
------------------
2007-4-1
2.trunc(sysdate,'D') 本周的第一天(周日)
SQL> select trunc(sysdate,'D')from dual;
TRUNC(SYSDATE,'D')
------------------
2007-5-27


3.last_day(sysdate) 本月最后一天
SQL> select last_day(sysdate) from dual;
LAST_DAY(SYSDATE)
-----------------
2007-5-31 15:20:3
4.add_months(sysdate,2) 日期sysdate后推2个月


SQL> select add_months(sysdate,2) from dual;
ADD_MONTHS(SYSDATE,2)
---------------------
2007-7-29 15:21:14
5.next_day(sysdate,2) 日期sysdate之后的第一周中,第2(指定星期的第几天)是什么日期
SQL> select next_day(sysdate,2) from dual;
NEXT_DAY(SYSDATE,2)
-------------------
2007-6-4 15:22:10
6.Months_between(f,s) 日期f和s间相差月数
SQL> select months_between(sysdate,to_date('2007-04-12','yyyy-mm-dd'))from dual;
MONTHS_BETWEEN(SYSDATE,TO_DATE
------------------------------
1.56909908900836


7.得到SYSDATE+5所在的月份
SQL> SELECT to_char(SYSDATE+5,'mon','nls_date_language=american') FROM dual;
TO_CHAR(SYSDATE+5,'MON','NLS_D
------------------------------
jun
8.current_date()返回当前会话时区中的当前日期 。
9.select dbtimezone from dual;
10.extract()找出日期或间隔值的字段值
SQL> select extract(month from sysdate) "This Month" from dual;
This Month
----------
5
SQL> select extract(year from sysdate) "This year" from dual;
This year
----------
2007
SQL> select extract(month from add_months(sysdate,2)) " Month" from dual;
Month
----------
7


==================================================================
三、一些实践后的用法:
1.上月末天:
select to_char(add_months(last_day(sysdate),-1),'yyyy-MM-dd') LastDay from dual;
2.上月今天
SQL> select to_char(add_months(sysdate,-1),'yyyy-MM-dd') PreToday from dual;
3.上月首天
SQL> select to_char(add_months(last_day(sysdate)+1,-2),'yyyy-MM-dd') firstDay from dual;
4.要找到某月中所有周五的具体日期
SELECT to_char(b.a,'YY-MM-DD') 
FROM ( SELECT trunc(SYSDATE,'mm')+ROWNUM-1 a
FROM dba_objects where rownum < 32 ) b
WHERE to_char(b.a,'day')='星期五';


如果把where to_char(t.d, 'MM') = to_char(sysdate, 'MM')改成sysdate-90,即为查找当前月份的前三个月中
的每周五的日期。


5.得到系统当前月及以后的日期
select trunc(sysdate, 'MM')+ROWNUM-1 FROM dba_objects ;
 
-----------------------------------
to_date 字符串类型转为换日期类型 
字符串中的相应位置上的字符,必须符合时间范围的限制  
14.MI 分钟数(0~59)
提示注意不要将MM格式用于分钟(分钟应该使用MI)。MM是用于月份的格式,将它用于分钟也能工作,但结果是错误的。
15.SS 秒数(0~59)






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


 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


 select CONVERT(varchar(12) , getdate(), 114 )
 11:06:08.177


.net 格式






1.绑定时格式化日期方法: 




<ASP:BOUNDCOLUMN DATAFIELD= "JoinTime " DATAFORMATSTRING= "{0:yyyy-MM-dd} " > 
<ITEMSTYLE WIDTH= "18% " > </ITEMSTYLE > 
</ASP:BOUNDCOLUMN > 






2.数据控件如DataGrid/DataList等的件格式化日期方法:
 
e.Item.Cell[0].Text = Convert.ToDateTime(e.Item.Cell[0].Text).ToShortDateString(); 






3.用String类转换日期显示格式:
 
String.Format( "yyyy-MM-dd ",yourDateTime); 






4.用Convert方法转换日期显示格式: 


Convert.ToDateTime("2005-8-23").ToString 


("yyMMdd",System.Globalization.DateTimeFormatInfo.InvariantInfo); //支持繁体数据库 






5.直接用ToString方法转换日期显示格式:
 
DateTime.Now.ToString("yyyyMMddhhmmss"); 
DateTime.Now.ToString("yyyy/MM/dd hh:mm:ss")






6.只显示年月 
DataBinder.Eval(Container.DataItem,"starttime","{0:yyyy-M}") 






7.显示时间所有部分,包括:
年月日时分秒 
<asp:BoundColumn DataField="收款时间" HeaderText="收款时间" 
DataFormatString="{0:yyyy-MM-dd HH24:mm:ss}"> 
</asp:BoundColumn> 






oracle 中时间格式




写语句:select to_date(sysdate,'yyyy-mm-dd hh24:mi:ss') from dual
sysdate指的是将数据库系统的当前时间以'yyyy-mm-dd hh24:mi:ss'格式输出来。
-----------------------------------
如果读取某个表中的日期字段就是:
select to_date(colum0,'yyyy-mm-dd hh24:mi:ss') from Tablename
其中:colum0是数据表Tablename的日期字段名。
0 0