精华内容
下载资源
问答
  • javascript Date format(js日期格式化)

    万次阅读 多人点赞 2010-06-02 19:04:00
    这个很不错,好像是 csdn 的 Meizz 写的: // 对Date的扩展,将 Date 转化为指定格式的String // 月(M)、日(d)、小时(h)、分(m)、秒(s)、季度(q) 可以用 1-2 个占位符, // 年(y)可以用 1-4 个占位符,毫秒(S)只能用...

    方法一:这个很不错,好像是 csdn 的 Meizz 写的:

    // 对Date的扩展,将 Date 转化为指定格式的String // 月(M)、日(d)、小时(h)、分(m)、秒(s)、季度(q) 可以用 1-2 个占位符, // 年(y)可以用 1-4 个占位符,毫秒(S)只能用 1 个占位符(是 1-3 位的数字) // 例子: // (new Date()).Format("yyyy-MM-dd hh:mm:ss.S") ==> 2006-07-02 08:09:04.423 // (new Date()).Format("yyyy-M-d h:m:s.S") ==> 2006-7-2 8:9:4.18 Date.prototype.Format = function(fmt) { //author: meizz var o = { "M+" : this.getMonth()+1, //月份 "d+" : this.getDate(), //日 "h+" : this.getHours(), //小时 "m+" : this.getMinutes(), //分 "s+" : this.getSeconds(), //秒 "q+" : Math.floor((this.getMonth()+3)/3), //季度 "S" : this.getMilliseconds() //毫秒 }; if(/(y+)/.test(fmt)) fmt=fmt.replace(RegExp.$1, (this.getFullYear()+"").substr(4 - RegExp.$1.length)); for(var k in o) if(new RegExp("("+ k +")").test(fmt)) fmt = fmt.replace(RegExp.$1, (RegExp.$1.length==1) ? (o[k]) : (("00"+ o[k]).substr((""+ o[k]).length))); return fmt; }

     

     

    调用方法:

    var time1 = new Date().format("yyyy-MM-dd HH:mm:ss"); var time2 = new Date().format("yyyy-MM-dd");

     

    方法二:

    <mce:script language="javascript" type="text/javascript"><!-- /** * 对Date的扩展,将 Date 转化为指定格式的String * 月(M)、日(d)、12小时(h)、24小时(H)、分(m)、秒(s)、周(E)、季度(q) 可以用 1-2 个占位符 * 年(y)可以用 1-4 个占位符,毫秒(S)只能用 1 个占位符(是 1-3 位的数字) * eg: * (new Date()).pattern("yyyy-MM-dd hh:mm:ss.S") ==> 2006-07-02 08:09:04.423 * (new Date()).pattern("yyyy-MM-dd E HH:mm:ss") ==> 2009-03-10 二 20:09:04 * (new Date()).pattern("yyyy-MM-dd EE hh:mm:ss") ==> 2009-03-10 周二 08:09:04 * (new Date()).pattern("yyyy-MM-dd EEE hh:mm:ss") ==> 2009-03-10 星期二 08:09:04 * (new Date()).pattern("yyyy-M-d h:m:s.S") ==> 2006-7-2 8:9:4.18 */ Date.prototype.pattern=function(fmt) { var o = { "M+" : this.getMonth()+1, //月份 "d+" : this.getDate(), //日 "h+" : this.getHours()%12 == 0 ? 12 : this.getHours()%12, //小时 "H+" : this.getHours(), //小时 "m+" : this.getMinutes(), //分 "s+" : this.getSeconds(), //秒 "q+" : Math.floor((this.getMonth()+3)/3), //季度 "S" : this.getMilliseconds() //毫秒 }; var week = { "0" : "/u65e5", "1" : "/u4e00", "2" : "/u4e8c", "3" : "/u4e09", "4" : "/u56db", "5" : "/u4e94", "6" : "/u516d" }; if(/(y+)/.test(fmt)){ fmt=fmt.replace(RegExp.$1, (this.getFullYear()+"").substr(4 - RegExp.$1.length)); } if(/(E+)/.test(fmt)){ fmt=fmt.replace(RegExp.$1, ((RegExp.$1.length>1) ? (RegExp.$1.length>2 ? "/u661f/u671f" : "/u5468") : "")+week[this.getDay()+""]); } for(var k in o){ if(new RegExp("("+ k +")").test(fmt)){ fmt = fmt.replace(RegExp.$1, (RegExp.$1.length==1) ? (o[k]) : (("00"+ o[k]).substr((""+ o[k]).length))); } } return fmt; } var date = new Date(); window.alert(date.pattern("yyyy-MM-dd hh:mm:ss")); // --></mce:script>

     

    方法三:

    Date.prototype.format = function(mask) { var d = this; var zeroize = function (value, length) { if (!length) length = 2; value = String(value); for (var i = 0, zeros = ''; i < (length - value.length); i++) { zeros += '0'; } return zeros + value; }; return mask.replace(/"[^"]*"|'[^']*'|/b(?:d{1,4}|m{1,4}|yy(?:yy)?|([hHMstT])/1?|[lLZ])/b/g, function($0) { switch($0) { case 'd': return d.getDate(); case 'dd': return zeroize(d.getDate()); case 'ddd': return ['Sun','Mon','Tue','Wed','Thr','Fri','Sat'][d.getDay()]; case 'dddd': return ['Sunday','Monday','Tuesday','Wednesday','Thursday','Friday','Saturday'][d.getDay()]; case 'M': return d.getMonth() + 1; case 'MM': return zeroize(d.getMonth() + 1); case 'MMM': return ['Jan','Feb','Mar','Apr','May','Jun','Jul','Aug','Sep','Oct','Nov','Dec'][d.getMonth()]; case 'MMMM': return ['January','February','March','April','May','June','July','August','September','October','November','December'][d.getMonth()]; case 'yy': return String(d.getFullYear()).substr(2); case 'yyyy': return d.getFullYear(); case 'h': return d.getHours() % 12 || 12; case 'hh': return zeroize(d.getHours() % 12 || 12); case 'H': return d.getHours(); case 'HH': return zeroize(d.getHours()); case 'm': return d.getMinutes(); case 'mm': return zeroize(d.getMinutes()); case 's': return d.getSeconds(); case 'ss': return zeroize(d.getSeconds()); case 'l': return zeroize(d.getMilliseconds(), 3); case 'L': var m = d.getMilliseconds(); if (m > 99) m = Math.round(m / 10); return zeroize(m); case 'tt': return d.getHours() < 12 ? 'am' : 'pm'; case 'TT': return d.getHours() < 12 ? 'AM' : 'PM'; case 'Z': return d.toUTCString().match(/[A-Z]+$/); // Return quoted strings with the surrounding quotes removed default: return $0.substr(1, $0.length - 2); } }); };

    展开全文
  • new Date() 日期格式处理

    万次阅读 多人点赞 2017-12-25 16:09:16
    console.log("result:"+toHDate(new Date().getTime()/1000).replace(/\:\d\d$/,'')); function toHDate(sec) { var d=new Date(); d.setTime(parseInt(sec)*1000); var str=d.getFullYear()+"-"+numForm

    Date 对象常用API

    var myDate = new Date();  
    myDate.getYear(); //获取当前年份(2位)  
    myDate.getFullYear(); //获取完整的年份(4位,1970-????)  
    myDate.getMonth(); //获取当前月份(0-11,0代表1月) 所以获取当前月份是 myDate.getMonth()+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( ); //获取日期与时间  
    

    JS获取当前时间戳的方法:

    Date.parse(new Date()); // 不推荐; 毫秒改成了000显示  
    new Date().valueOf();
    new Date().getTime();
    +new Date().getTime();
    

    js中单独调用 new Date(); 显示这种格式Fri Aug 28 2020 11:03:24 GMT+0800 (中国标准时间)
    但是用 new Date() 参与计算会自动转换为从 1970.1.1 开始的毫秒数

    将字符串形式的日期转换成日期对象:

    var strTime="2011-04-16"; // 字符串日期格式             
    var date= new Date(Date.parse(strTime.replace(/-/g,  "/"))); // 转换成 Data();  
      
    new Date(); // 参数可以为整数; 也可以为字符串; 但格式必须正确  
    new Date(2009,1,1);
    new Date("2009/1/1");
    new Date("2009-1-1"); 
      
    new Date( year, month, date, hrs, min, sec)  // 按给定的参数创建一日期对象   
    

    1.日期格式转为日期标准字符串:2015-03-19

    var formatDate = function (date) {  
        var y = date.getFullYear();  
        var m = date.getMonth() + 1;  
        m = m < 10 ? '0' + m : m;  
        var d = date.getDate();  
        d = d < 10 ? ('0' + d) : d;  
        return y + '-' + m + '-' + d;  
    };  
    

    2.js方法返回值:2015-03-19 12:00:00

    var formatDateTime = function (date) {  
                    var y = date.getFullYear();  
                    var m = date.getMonth() + 1;  
                    m = m < 10 ? ('0' + m) : m;  
                    var d = date.getDate();  
                    d = d < 10 ? ('0' + d) : d;  
                    var h = date.getHours();  
                    h=h < 10 ? ('0' + h) : h;  
                    var minute = date.getMinutes();  
                    minute = minute < 10 ? ('0' + minute) : minute;  
                    var second=date.getSeconds();  
                    second=second < 10 ? ('0' + second) : second;  
                    return y + '-' + m + '-' + d+' '+h+':'+minute+':'+second;  
                };  
    

    3.时间戳转为日期格式

    //时间戳转日期格式  
          var formatDateTime3 = function(time, format){  
              var t = new Date(time);  
              var tf = function(i){return (i < 10 ? '0' : '') + i};  
              return format.replace(/yyyy|MM|dd|HH|mm|ss/g, function(a){  
                  switch(a){  
                      case 'yyyy':  
                          return tf(t.getFullYear());  
                          break;  
                      case 'MM':  
                          return tf(t.getMonth() + 1);  
                          break;  
                      case 'mm':  
                          return tf(t.getMinutes());  
                          break;  
                      case 'dd':  
                          return tf(t.getDate());  
                          break;  
                      case 'HH':  
                          return tf(t.getHours());  
                          break;  
                      case 'ss':  
                          return tf(t.getSeconds());  
                          break;  
                  }  
              })  
          };  
    

    4.时间格式字符串转为时间戳(毫秒)

    var time1=2016-01-01 17:22:37’;  
    var date=new Date(time1.replace(/-/g, '/'));  //开始时间  
    var time2=date.getTime();  
    

    如何将2015-03-12 12:00 转换成标准时间()?

    // 调用:parserDate("2015-03-19 12::00:00")
    var parserDate = function (date) {  
        var t = Date.parse(date);  
        if (!isNaN(t)) {  
            return new Date(Date.parse(date.replace(/-/g, "/")));  
        } else {  
            return new Date();  
        }  
    }; 
    

    转自不忘初心:http://blog.csdn.net/tomcat_2014/article/details/50514979

    补充:
    写一个vue plugin 用于格式化日期时间:

    export function prefixZero (num, n) {
        return (Array(n).join(0) + num).slice(-n);
    } 
    
    /**
     * @param {String | Number} date 当前时间
     * @param {String} format 格式化格式
     *
     * usage:
     *	dateFormatter('2011/1/12 12:12:22', 'yyyy-MM-dd HH:mm:ss')
     * 	dateFormatter(1294805542000, 'yyyy-MM-dd HH:mm:ss')
     */
    export function dateFormatter (date, format) {
      const t = new Date(date)
      console.log(t)
      if (t.toString() === 'Invalid Date') { return 'invalid date' }
      return format.replace(/yyyy|MM|M|WW|W|ww|w|dd|d|HH|H|hh|h|mm|m|ss|s|A|a/g, function(a){  
        switch(a){  
          case 'yyyy': // 年 2011
            return prefixZero(t.getFullYear(), 4);
          case 'MM': 	// 月 01
            return prefixZero(t.getMonth() + 1, 2);
          case 'M': 	// 月 1
            return t.getMonth() + 1;
          case 'WW': 	// 周 01
            return prefixZero(t.getDay(), 2);
          case 'W': 	// 周 1
            return t.getDay();
          case 'ww': 	// 周 星期一
            return "星期" + "日一二三四五六".charAt(t.getDay());
          case 'w': 	// 周 周一
            return "周" + "日一二三四五六".charAt(t.getDay());
          case 'dd': 	// 日 02
            return prefixZero(t.getDate(), 2);
          case 'd': 	// 日 2
            return prefixZero(t.getDate(), 2);
          case 'HH':  // 小时 24小时制 03
            return prefixZero(t.getHours(), 2);
          case 'H':  	// 小时 24小时制 3
            return prefixZero(t.getHours(), 2);
          case 'hh':  // 小时 12小时制 03
            return prefixZero(t.getHours() % 12, 2);
          case 'h':  	// 小时 12小时制 3
            return prefixZero(t.getHours() % 12, 2);
          case 'mm':  // 分钟 04
            return prefixZero(t.getMinutes(), 2);
          case 'm':  	// 分钟 4
            return t.getMinutes();
          case 'ss':  // 秒 05
            return prefixZero(t.getSeconds(), 2);
          case 's':  	// 秒 5
            return t.getSeconds();
          case 'A':  
            return t.getHours() < 12 ? 'AM' : 'PM';
          case 'a':  
            return t.getHours() < 12 ? 'am' : 'pm'; 
        }  
      })  
    }
    
    const dateFormat = {
      install: function (vue) {
        vue.prototype.$dateFormatter = dateFormatter
        vue.filter('date', dateFormatter)
      }
    }
    export default dateFormat
    
    展开全文
  • date_format(date,'%Y-%m-%d') -------------->oracle中的to_char();  str_to_date(date,'%Y-%m-%d') -------------->oracle中的to_date();  %Y:代表4位的年份  %y:代表2为的年份  %m:代表月, 格式为...

    mysql常用日期转换方法:

       date_format(date,'%Y-%m-%d') -------------->oracle中的to_char();
      str_to_date(date,'%Y-%m-%d') -------------->oracle中的to_date();
      %Y:代表4位的年份
      %y:代表2为的年份
      %m:代表月, 格式为(01……12)
      %c:代表月, 格式为(1……12)
      %d:代表月份中的天数,格式为(00……31)
      %e:代表月份中的天数, 格式为(0……31)
      %H:代表小时,格式为(00……23)
      %k:代表 小时,格式为(0……23)
      %h: 代表小时,格式为(01……12)
      %I: 代表小时,格式为(01……12)
      %l :代表小时,格式为(1……12)
      %i: 代表分钟, 格式为(00……59)
      %r:代表 时间,格式为12 小时(hh:mm:ss [AP]M)
      %T:代表 时间,格式为24 小时(hh:mm:ss)
      %S:代表 秒,格式为(00……59)
      %s:代表 秒,格式为(00……59)
      SELECT DATE_FORMAT(20130111191640,'%Y-%m-%d %H:%i:%s')
      DATE_FORMAT(20130111191640,'%Y-%m-%d %H:%i:%s')

     

    展开全文
  • Oracle TO_DATE 日期格式大全

    万次阅读 多人点赞 2018-02-22 14:52:32
    转自http://apps.hi.baidu.com/share/detail/10070907Oracle TO_DATE 日期格式大全Oracle中TO_DATE格式2009-04-14 10:53TO_DATE格式(以时间:2007-11-02 13:45:25为例) Year: yy two digits 两位年 ...

    转自http://apps.hi.baidu.com/share/detail/10070907

    Oracle TO_DATE 日期格式大全

    Oracle中TO_DATE格式2009-04-14 10:53TO_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;   //获取时间的日  

    select to_char(sysdate,'hh24') as nowHour   from dual;   //获取时间的时  

    select to_char(sysdate,'mi')    as nowMinute from dual;   //获取时间的分  

    select to_char(sysdate,'ss')    as nowSecond from dual;   //获取时间的秒

       

    select to_date('2004-05-07 13:23:44','yyyy-mm-dd hh24:mi:ss')    from dual//

    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.获得小时数     

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

        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) 作为月     

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

    23.next_day函数      返回下个星期的日期,day为1-7或星期日-星期六,1表示星期日

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

       1 2 3 4 5 6 7     

       日 一 二 三 四 五 六   

      

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

      

       select    (sysdate-to_date('2003-12-03 12:55:45','yyyy-mm-dd hh24:mi:ss'))*24*60*60 from ddual

       日期 返回的是天 然后 转换为ss

        

    24,round[舍入到最接近的日期](day:舍入到最接近的星期日)

       select sysdate S1,

       round(sysdate) S2 ,

       round(sysdate,'year') YEAR,

       round(sysdate,'month') MONTH ,

       round(sysdate,'day') DAY from dual

    25,trunc[截断到最接近的日期,单位为天] ,返回的是日期类型

       select sysdate S1,                    

         trunc(sysdate) S2,                 //返回当前日期,无时分秒

         trunc(sysdate,'year') YEAR,        //返回当前年的1月1日,无时分秒

         trunc(sysdate,'month') MONTH ,     //返回当前月的1日,无时分秒

         trunc(sysdate,'day') DAY           //返回当前星期的星期天,无时分秒

       from dual

    26,返回日期列表中最晚日期

       select greatest('01-1月-04','04-1月-04','10-2月-04') from dual

    27.计算时间差

         注:oracle时间差是以天数为单位,所以换算成年月,日

        

          select floor(to_number(sysdate-to_date('2007-11-02 15:55:03','yyyy-mm-dd hh24:mi:ss'))/365) as spanYears from dual        //时间差-年

          select ceil(moths_between(sysdate-to_date('2007-11-02 15:55:03','yyyy-mm-dd hh24:mi:ss'))) as spanMonths from dual        //时间差-月

          select floor(to_number(sysdate-to_date('2007-11-02 15:55:03','yyyy-mm-dd hh24:mi:ss'))) as spanDays from dual             //时间差-天

          select floor(to_number(sysdate-to_date('2007-11-02 15:55:03','yyyy-mm-dd hh24:mi:ss'))*24) as spanHours from dual         //时间差-时

          select floor(to_number(sysdate-to_date('2007-11-02 15:55:03','yyyy-mm-dd hh24:mi:ss'))*24*60) as spanMinutes from dual    //时间差-分

          select floor(to_number(sysdate-to_date('2007-11-02 15:55:03','yyyy-mm-dd hh24:mi:ss'))*24*60*60) as spanSeconds from dual //时间差-秒

    28.更新时间

         注:oracle时间加减是以天数为单位,设改变量为n,所以换算成年月,日

         select to_char(sysdate,'yyyy-mm-dd hh24:mi:ss'),to_char(sysdate+n*365,'yyyy-mm-dd hh24:mi:ss') as newTime from dual        //改变时间-年

         select to_char(sysdate,'yyyy-mm-dd hh24:mi:ss'),add_months(sysdate,n) as newTime from dual                                 //改变时间-月

         select to_char(sysdate,'yyyy-mm-dd hh24:mi:ss'),to_char(sysdate+n,'yyyy-mm-dd hh24:mi:ss') as newTime from dual            //改变时间-日

         select to_char(sysdate,'yyyy-mm-dd hh24:mi:ss'),to_char(sysdate+n/24,'yyyy-mm-dd hh24:mi:ss') as newTime from dual         //改变时间-时

         select to_char(sysdate,'yyyy-mm-dd hh24:mi:ss'),to_char(sysdate+n/24/60,'yyyy-mm-dd hh24:mi:ss') as newTime from dual      //改变时间-分

         select to_char(sysdate,'yyyy-mm-dd hh24:mi:ss'),to_char(sysdate+n/24/60/60,'yyyy-mm-dd hh24:mi:ss') as newTime from dual   //改变时间-秒

    29.查找月的第一天,最后一天

         SELECT Trunc(Trunc(SYSDATE, 'MONTH') - 1, 'MONTH') First_Day_Last_Month,

           Trunc(SYSDATE, 'MONTH') - 1 / 86400 Last_Day_Last_Month,

           Trunc(SYSDATE, 'MONTH') First_Day_Cur_Month,

           LAST_DAY(Trunc(SYSDATE, 'MONTH')) + 1 - 1 / 86400 Last_Day_Cur_Month

       FROM dual;

    30,查询一年12个月的信息

    Select to_char(add_months(trunc(sysdate,'year'),Rownum - 1),'yyyy-mm')
    From dual Connect By Rownum <= 12

    1 2009-01
    2 2009-02
    。。。
    11 2009-11
    12 2009-12

    31、查询每月30天的信息

    Select to_char(trunc(sysdate,'month') + Rownum - 1,'yyyy-mm-dd')
    From dual Connect By Rownum <= extract(Day From last_day(trunc(Sysdate,'month')))

    1 2009-07-01
    2 2009-07-02
    3 2009-07-03

    。。。
    30 2009-07-30
    31 2009-07-31

    32、目前时间日期信息

    SELECT EXTRACT(YEAR FROM SYSDATE) FROM DUAL; return Current Year
    ? SELECT EXTRACT(MONTH FROM SYSDATE) FROM DUAL; return Current Month
    ? SELECT EXTRACT(DAY FROM SYSDATE) FROM DUAL; return Current Day

    展开全文
  • 如果遇到这种情况,其实原因很简单,如果你是想获取当前时间使用,报错的原因是包引的import java.sql.Date; 只需要换成 import java.util.Date; 即可 通过Date类来获取当前时间 : Date date = new Date();...
  • Date date = new Date(stamp.getTime()); System.out.println(date); Timestamp 类型转换为 Calendar 类型: // 获取 Timestamp 类型时间 Timestamp timestamp = new Timestamp(System.currentTimeMillis())...
  • Java:String和Date、Timestamp之间的转换

    万次阅读 2017-01-15 21:36:33
    一、String与Date(java.util.Date)互转 // 1.1、String -> Date @org.junit.Test public void testStringToDate() throws ParseException { String dateStr = "2010-05-04 12:34:23"; //注意f
  • mysql年月日时分秒格式化 DATE_FORMAT

    万次阅读 2017-12-27 19:38:25
    求人不如求己 SELECT DATE_FORMAT(NOW(),'%Y-%m-%d %H:%i:%s')
  • util.Date与sql.Date的相互转换

    万次阅读 多人点赞 2018-07-31 15:40:35
    Java中有两个Date类,一个是java.util.Date通常情况下用它获取当前时间或构造时间,另一个是java.sql.Date是针对SQL语句使用的,它只包含日期而没有时间部分。两个类型的时间可以相互转化。 util.Date转sql.Date ...
  • linux命令date

    万次阅读 2020-10-12 02:47:11
    linux下date命令用来查看当前系统时间 date -d @时间戳可以显示当前正常的时间,这个工作经常用到
  • public void date2LocalDateTime(Date date){ Instant instant = date.toInstant();//An instantaneous point on the time-line.(时间线上的一个瞬时点。) ZoneId zoneId = ZoneId.systemDefault();//A time-zone...
  • 1.Date.now()方法返回自1970年1月1日 00:00:00 UTC到当前时间的毫秒数。 语法:无参数 var timeInMs = Date.now(); 描述: now()方法返回自1970年1月1日 00:00:00 UTC到当前时间的毫秒数,类型为Number。 ...
  • Java Date类型与Date字符串 互相转换

    千次阅读 2019-04-30 16:08:13
    DateDateString Date date = new Date(); //可以转成你想要的格式 yyyy/MM/dd HH:mm:ss 等等 SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); String dateString = format.format(date...
  • LocalDateTime转Date

    千次阅读 2021-01-19 09:58:25
    LocalDateTime转Date LocalDateTime localDateTime = LocalDateTime.now(); Date date = Date.from( localDateTime.atZone( ZoneId.systemDefault()).toInstant()); System.out.println(date); Date转...
  • 1、DATE() 函数:返回日期或日期时间表达式的日期部分; 2、str_to_date()函数:按照指定日期或时间显示格式 将字符串转换为日期或日期时间类型; 3、date_format()函数:按照指定日期或时间显示格式 输出日期或...
  • 项目经常涉及到时间戳和Date类型的相互转换、时间类型处理等,我有时候一段时间不写就又忘记了,故而写篇笔记备忘下! 本文主要包含的有: 时间戳与Date类型的相互转换 判断是否为同一天 日期格式化 给日期加上...
  • date_format:将日期进行格式化 date_add:对当前日期增加天数 date_sub:对当前日期减少天数 next_day:取当前日期的下一个周几 last_day:当前日期的最后一天 闲言少叙,直接看例子 1、date_format 命令: select...
  • java使用newDate()和System.currentTimeMillis()获取当前时间戳 在开发过程中,通常很多人都习惯使用newDate()来获取当前时间,使用起来也比较方便,同时还可以获取与当前时间有关的各方面信息,例如获取小时,分钟...
  • java.util.Date cannot be cast to java.sql.Date 将java程序中常用的java.util.Date类型转换为sql语句中用的sql类型的Date: new java.sql.Date(user.getBirth().getTime())
  • IE下Date报Invalid Date

    千次阅读 2018-05-21 16:52:19
    搜狗、谷歌不会报无效日期,在IE下会报是因为不同浏览器对不同日期格式存在差异以下列出了所有浏览器都支持的方式:var d = new Date(2017, 01, 07);var d = new Date(2017, 01, 07, 11, 05, 00);var d = new Date(&...
  • 1、str 2 date 头文件 import datetime str=&quot;20180805&quot; str2date=datetime.datetime.strptime(str,&quot;%Y%m%d&quot;)#字符串转化为date形式 date2str=str2date.strftime(&...
  • select current_date() -- 2018-05-30 select current_date()-1 --20180529 慎用! select DATE_FORMAT(current_date()-1, '%Y-%m-%d') --2018-05-29 select DATE_FORMAT(current_date()-31, '%Y-%m-%d') --空 ...
  • 【Js】检查Date对象是否为Invalid Date

    千次阅读 2019-05-09 16:26:48
    使用Date()构造日期对象,如果传入非日期格式或者错误的日期格式的字符串,仍然能构造出Date对象。 vardate=newDate("dream"); console.log('date:', date); //Invalid Date console.log('date:', typeof date); /...
  • 文章目录SpringMVC日期Date格式转换1. 通过注解`@DateTimeForma()`实现日期格式转换。【 *** 推荐使用】2. 编写自定义转换器实现`Converter`,通过重写方法进行类型转换。2.1 编写自定义转换器实现`Converter`2.2 ...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 515,369
精华内容 206,147
关键字:

date