JS中new Date()日期格式处理

r囧r小猫 2021-11-11 09:22 1205阅读 0赞
  1. var myDate = new Date();
  2. myDate.getYear(); //获取当前年份(2位)
  3. myDate.getFullYear(); //获取完整的年份(4位,1970-????)
  4. myDate.getMonth(); //获取当前月份(0-11,0代表1月) // 所以获取当前月份是myDate.getMonth()+1;
  5. myDate.getDate(); //获取当前日(1-31)
  6. myDate.getDay(); //获取当前星期X(0-6,0代表星期天)
  7. myDate.getTime(); //获取当前时间(从1970.1.1开始的毫秒数)
  8. myDate.getHours(); //获取当前小时数(0-23)
  9. myDate.getMinutes(); //获取当前分钟数(0-59)
  10. myDate.getSeconds(); //获取当前秒数(0-59)
  11. myDate.getMilliseconds(); //获取当前毫秒数(0-999)
  12. myDate.toLocaleDateString(); //获取当前日期
  13. var mytime=myDate.toLocaleTimeString(); //获取当前时间
  14. myDate.toLocaleString( ); //获取日期与时间

JS获取当前时间戳的方法-JavaScript 获取当前毫秒时间戳有以下三种方法:

  1. var timestamp =Date.parse(new Date()); 结果:1280977330000 //不推荐; 毫秒改成了000显示
  2. var timestamp =(new Date()).valueOf(); 结果:1280977330748 //推荐;
  3. var timestamp=new Date().getTime(); 结果:1280977330748 //推荐;

注:js中单独调用new Date(); 显示这种格式 Mar 31 10:10:43 UTC+0800 2012;但是用new Date() 参与计算会自动转换为从1970.1.1开始的毫秒数

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

  1. var strTime="2011-04-16"; //字符串日期格式
  2. 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) 按给定的参数创建一日期对象
      参数说明:
      year的值为:需设定的年份-1900。例如需设定的年份是1997则year的值应为97,即1997-1900的结果。所以Date中可设定 的年份最小为1900;
      month的值域为0~11,0代表1月,11表代表12月;
      date的值域在1~31之间;
      hrs的值域在0~23之间。从午夜到次日凌晨1点间hrs=0,从中午到下午1点间hrs=12;
      min和sec的值域在0~59之间。
      例 Date day=new Date(11,3,4);
      //day中的时间为:04-Apr-11 12:00:00 AM

    另外,还可以给出不正确的参数。
      例 设定时间为1910年2月30日,它将被解释成3月2日。
      Date day=new Date(10,1,30,10,12,34);
      System.out.println(“Day’s date is:”+day);
      //打印结果为:Day’s date is:Web Mar 02 10:13:34 GMT+08:00 1910
    -————————————————————————————————————————————————-

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

  1. var formatDate = function (date) {
  2. var y = date.getFullYear();
  3. var m = date.getMonth() + 1;
  4. m = m < 10 ? '0' + m : m;
  5. var d = date.getDate();
  6. d = d < 10 ? ('0' + d) : d;
  7. return y + '-' + m + '-' + d;
  8. };

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

  1. var formatDateTime = function (date) {
  2. var y = date.getFullYear();
  3. var m = date.getMonth() + 1;
  4. m = m < 10 ? ('0' + m) : m;
  5. var d = date.getDate();
  6. d = d < 10 ? ('0' + d) : d;
  7. var h = date.getHours();
  8. h=h < 10 ? ('0' + h) : h;
  9. var minute = date.getMinutes();
  10. minute = minute < 10 ? ('0' + minute) : minute;
  11. var second=date.getSeconds();
  12. second=second < 10 ? ('0' + second) : second;
  13. return y + '-' + m + '-' + d+' '+h+':'+minute+':'+second;
  14. };

调用:formatDate(Date()) formatDate(Date())

3.时间戳转为日期格式

  1. //时间戳转日期格式
  2. var formatDateTime3 = function(time, format){
  3. var t = new Date(time);
  4. var tf = function(i){return (i < 10 ? '0' : '') + i};
  5. return format.replace(/yyyy|MM|dd|HH|mm|ss/g, function(a){
  6. switch(a){
  7. case 'yyyy':
  8. return tf(t.getFullYear());
  9. break;
  10. case 'MM':
  11. return tf(t.getMonth() + 1);
  12. break;
  13. case 'mm':
  14. return tf(t.getMinutes());
  15. break;
  16. case 'dd':
  17. return tf(t.getDate());
  18. break;
  19. case 'HH':
  20. return tf(t.getHours());
  21. break;
  22. case 'ss':
  23. return tf(t.getSeconds());
  24. break;
  25. }
  26. })
  27. };

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

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

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

  1. Thu Mar 19 2015 12:00:00 GMT+0800 (中国标准时间)
  1. var parserDate = function (date) {
  2. var t = Date.parse(date);
  3. if (!isNaN(t)) {
  4. return new Date(Date.parse(date.replace(/-/g, "/")));
  5. } else {
  6. return new Date();
  7. }
  8. };

js方法返回值:Thu Mar 19 2015 12:00:00 GMT+0800 (中国标准时间)

5.判断时间间隔不超过24个小时

  1. var date1=new Date("2004/09/16 20:08:00");
  2. var date2=new Date("2004/09/17 20:08:00");
  3. var date3=(date2.getTime()-date1.getTime())/1000; //相差秒数
  4. if(date3>60*60*24*1000){
  5. alert("开始时间与结束时间间隔大于24小时!");
  6. return false; }

发表评论

表情:
评论列表 (有 0 条评论,1205人围观)

还没有评论,来说两句吧...

相关阅读