zoukankan      html  css  js  c++  java
  • 时间操作

    Select GETDATE() as '当前日期',
    DateName(year,GetDate()) as '年',
    DateName(month,GetDate()) as '月',
    DateName(day,GetDate()) as '日',
    DateName(dw,GetDate()) as '星期',
    DateName(week,GetDate()) as '周数',
    DateName(hour,GetDate()) as '时',
    DateName(minute,GetDate()) as '分',
    DateName(second,GetDate()) as '秒'


    结果:
    2015-08-17 16:28:21.560 2015 August 17 Monday 34 16 28 21


    1.显示本月第一天
    SELECT DATEADD(mm,DATEDIFF(mm,0,getdate()),0) 
    select convert(datetime,convert(varchar(8),getdate(),120)+'01',120)


    2.显示本月最后一天
    select dateadd(day,-1,convert(datetime,convert(varchar(8),dateadd(month,1,getdate()),120)+'01',120))
    SELECT dateadd(ms,-3,DATEADD(mm,DATEDIFF(m,0,getdate())+1,0)) 


    3.上个月的最后一天 
    SELECT dateadd(ms,-3,DATEADD(mm,DATEDIFF(mm,0,getdate()),0)) 


    4.本月的第一个星期一
    select DATEADD(wk,DATEDIFF(wk,0, dateadd(dd,6-datepart(day,getdate()),getdate())),0)


    5.本年的第一天 
    SELECT DATEADD(yy,DATEDIFF(yy,0,getdate()),0) 


    6.本年的最后一天 
    SELECT dateadd(ms,-3,DATEADD(yy,DATEDIFF(yy,0,getdate())+1,0))


    7.去年的最后一天 
    SELECT dateadd(ms,-3,DATEADD(yy,DATEDIFF(yy,0,getdate()),0))


    8.本季度的第一天 
    SELECT DATEADD(qq,DATEDIFF(qq,0,getdate()),0)  


    9.本周的星期一 
    SELECT DATEADD(wk,DATEDIFF(wk,0,getdate()),0) 


    10.查询本月的记录 
    select * from tableName where DATEPART(mm, theDate) = DATEPART(mm, GETDATE()) and DATEPART(yy, theDate) = DATEPART(yy, GETDATE()) 


    11.查询本周的记录 
    select * from tableName where DATEPART(wk, theDate) = DATEPART(wk, GETDATE()) and DATEPART(yy, theDate) = DATEPART(yy, GETDATE()) 


    12.查询本季的记录 
    select * from tableName where DATEPART(qq, theDate) = DATEPART(qq, GETDATE()) and DATEPART(yy, theDate) = DATEPART(yy, GETDATE()) 
    其中:GETDATE()是获得系统时间的函数。


    13.获取当月总天数:
    select DATEDIFF(dd,getdate(),DATEADD(mm, 1, getdate()))


    select datediff(day,
    dateadd(mm, datediff(mm,'',getdate()), ''),
    dateadd(mm, datediff(mm,'',getdate()), '1900-02-01'))


    14.获取当前为星期几
    DATENAME(weekday, getdate())


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


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


    17. datediff 返回跨两个指定日期的日期和时间边界数。
    select datediff(day,'2015-08-01','2015-08-17') --返回:16

    18. datepart 返回代表指定日期的指定日期部分的整数。
    SELECT DATEPART(month, '2015-08-15') --返回 8
    年为year,月为month,日为day,小时hour,分为minute,秒为second


    19. datename 返回代表指定日期的指定日期部分的字符串
    SELECT datename(weekday, '2015-08-15') --返回:星期六


    17. day(), month(),year() --可以与datepart对照一下
    select 当前日期=convert(varchar(10),getdate(),120),当前时间=convert(varchar(8),getdate(),114) 
    select datename(dw,'2015-08-15') 
    select 本年第多少周=datename(week,'2015-08-15'),今天是周几=datename(weekday,'2015-0815')


    函数 参数/功能
    GetDate( ) 返回系统目前的日期与时间
    DateDiff (interval,date1,date2) 以interval 指定的方式,返回date2 与date1两个日期之间的差值 date2-date1
    DateAdd (interval,number,date) 以interval指定的方式,加上number之后的日期
    DatePart (interval,date) 返回日期date中,interval指定部分所对应的整数值
    DateName (interval,date) 返回日期date中,interval指定部分所对应的字符串名称


    参数 interval的设定值如下:
    值 缩 写(Sql Server) 说明
    Year Yy 年 1753 ~ 9999
    Quarter Qq 季 1 ~ 4
    Month Mm 月1 ~ 12
    Day of year Dy 一年的日数,一年中的第几日 1-366
    Day Dd 日,1-31
    Weekday Dw 一周的日数,一周中的第几日 1-7
    Week Wk 周,一年中的第几周 0 ~ 51
    Hour Hh 时0 ~ 23
    Minute Mi 分钟0 ~ 59
    Second Ss 秒 0 ~ 59
    Millisecond Ms 毫秒 0 ~ 999


    举例:
    1.GetDate() 用于sql server :select GetDate()


    2.DateDiff('s','2015-05-20','2015-7-25 22:56:32')返回值为 514592 秒
      DateDiff('d','2015-07-20','2015-7-25 22:56:32')返回值为 5 天


    3.DatePart(w,'2015-7-25 22:56:32')返回值为 7 即星期一(周日为1,周六为7)
      DatePart(d,'2015-7-25 22:56:32')返回值为 25即25号
      DatePart(y,'2015-7-25 22:56:32')返回值为 206即这一年中第206天
      DatePart(yyyy,'2015-7-25 22:56:32')返回值为 2015即205年

    定义和用法

    DATEADD() 函数在日期中添加或减去指定的时间间隔。

    语法

    DATEADD(datepart,number,date)

    date 参数是合法的日期表达式。number 是您希望添加的间隔数;对于未来的时间,此数是正数,对于过去的时间,此数是负数。

    datepart 参数可以是下列的值:

    datepart缩写
    yy, yyyy
    季度 qq, q
    mm, m
    年中的日 dy, y
    dd, d
    wk, ww
    星期 dw, w
    小时 hh
    分钟 mi, n
    ss, s
    毫秒 ms
    微妙 mcs
    纳秒 ns

    定义和用法

    DATEDIFF() 函数返回两个日期之间的时间。

    语法

    DATEDIFF(datepart,startdate,enddate)

    startdate 和 enddate 参数是合法的日期表达式。

    datepart 参数可以是下列的值:

    datepart缩写
    yy, yyyy
    季度 qq, q
    mm, m
    年中的日 dy, y
    dd, d
    wk, ww
    星期 dw, w
    小时 hh
    分钟 mi, n
    ss, s
    毫秒 ms
    微妙 mcs
    纳秒 ns
  • 相关阅读:
    jvisualm 结合 visualGC 进行jvm监控,并分析垃圾回收
    linux 查看服务器cpu 与内存配置
    arthas 使用总结
    selinux contexts 安全上下文的临时更改
    Android 8.1 Doze模式分析(五) Doze白名单及Debug方式
    Window 任意窗口置顶软件Window TopMost Control
    Android ApkToolPlus一个可视化的跨平台 apk 分析工具
    SVN Please execute the 'Cleanup' command.
    Android 如何在64位安卓系统中使用32位SO库
    Android cmd命令查看apk是32位还是64位?
  • 原文地址:https://www.cnblogs.com/zhangyao-950907/p/12028063.html
Copyright © 2011-2022 走看看