博客园  :: 首页  :: 新随笔  :: 联系 :: 订阅 订阅  :: 管理

js 日期格式化

Posted on 2016-12-24 16:17  疯狂的码奴  阅读(169)  评论(0编辑  收藏  举报

在ajax请求中,从后台获取的日期会变成毫秒值,我们需要将其转化为日期 或带格式的日期字符串。

 

转化为日期的方式:new Date(毫秒值);

转化为带格式的日期字符串:

我们需要一个方法,如下:

function dateFormat(str){

  var date = new Date();

  //例:我们转化成 YYYY-MM-DD HH:mm:ss的形式

  var year = date.getFullYear();//从 Date 对象以四位数字返回年份。

  var month=date.getMonth()+1" //从 Date 对象返回月份 (0 ~ 11)。

  var date= date.getDate();//从 Date 对象返回一个月中的某一天 (1 ~ 31)。

  var hours=date.getHours()"//返回 Date 对象的小时 (0 ~ 23)。

  var minutes=date.getMinutes() ;//返回 Date 对象的分钟 (0 ~ 59)。

  var seconds=date.getSecondes()"//返回 Date 对象的秒数 (0 ~ 59)。

  return year+"-"+month+"-"+date+" "+hours+":"+minutes+":"+seconds;

}

 

从上面的注释中可以看出月 日 时 分 秒都是从0开始 而不是00开始 ,所以我们还需要一个方法 给10以下的数字补0

function checkTime(s){

  if(s<10){

    s="0"+s;  

    return s;

  }

}

将checkTime方法加在dateFormat方法的返回结果上就可以了,如下:

function dateFormat(str){

  var date = new Date();

  //例:我们转化成 YYYY-MM-DD HH:mm:ss的形式

  var year = date.getFullYear();//从 Date 对象以四位数字返回年份。

  var month=date.getMonth()+1" //从 Date 对象返回月份 (0 ~ 11)。

  var date= date.getDate();//从 Date 对象返回一个月中的某一天 (1 ~ 31)。

  var hours=date.getHours()"//返回 Date 对象的小时 (0 ~ 23)。

  var minutes=date.getMinutes() ;//返回 Date 对象的分钟 (0 ~ 59)。

  var seconds=date.getSecondes()"//返回 Date 对象的秒数 (0 ~ 59)。

  return year+"-"+checkTime(month)+"-"+checkTime(date)+" "+checkTime(hours)+":"+checkTime(minutes)+":"+checkTime(seconds);

}