资讯专栏INFORMATION COLUMN

用js将从后台得到的时间戳(毫秒数)转换为想要的日期格式

fjcgreat / 2742人阅读

摘要:例子重载方法得到后台从数据库中拿到的数据我们希望格式是年月日时分秒或者然而我们前台得到的却是一段数字时间戳,毫秒数我们要将时间戳转化为我们想要的格式。

例子:




    









得到后台从数据库中拿到的数据我们希望格式是
                2016年10月25日 17时37分30秒 或者 2016/10/25 17:37:30
然而我们前台得到的却是一段数字(时间戳,毫秒数)
                1477386005
我们要将时间戳转化为我们想要的格式。
核心方法 :
1477386005是我从后台得到时间戳 (注意:有的时候得到的时间戳是已经乘以1000的)

var unixTimestamp = new Date( 1477386005*1000 ) ;
commonTime = unixTimestamp.toLocaleString();
alert(commonTime);
这时候的结果是:
    
但是我希望转换为我自己想要的格式,就在本页面重写一下 toLocaleString()方法即可。

Date.prototype.toLocaleString = function() { return this.getFullYear() + "年" + (this.getMonth() + 1) + "月" + this.getDate() + "日 " + this.getHours() + "点" + this.getMinutes() + "分" + this.getSeconds() + "秒";
};

  结果为:
    
或者其他想要的格式:

Date.prototype.toLocaleString = function() { return this.getFullYear() + "/" + (this.getMonth() + 1) + "/" + this.getDate() + "/ " + this.getHours() + ":" + this.getMinutes() + ":" + this.getSeconds();
};
 

    结果为:
    

 

/*****变化格式*****/
   

function formatterTime(time, fmt) {

      if(!time){

            return "";

      }

      if(typeof(time) == "object" || typeof(time) == "OBJECT") {

      var z = {

                  M: time.getMonth() + 1,

                  d: time.getDate(),

                  h: time.getHours(),

                  m: time.getMinutes(),

                  s: time.getSeconds()

            };

      fmt = fmt.replace(/(M+|d+|h+|m+|s+)/g, function(v) {

                  return ((v.length > 1 ? "0" : "") + eval("z." + v.slice(-1))).slice(-2);

            });

      return fmt.replace(/(y+)/g, function(v) {

                  return time.getFullYear().toString().slice(-v.length);

            });

      }else if(typeof(time) == "number"){

            var TIME = new Date( time) ;

            var z = {

                        M: TIME.getMonth() + 1,

                        d: TIME.getDate(),

                        h: TIME.getHours(),

                        m: TIME.getMinutes(),

                        s: TIME.getSeconds()

                  };

            fmt = fmt.replace(/(M+|d+|h+|m+|s+)/g, function(v) {

                        return ((v.length > 1 ? "0" : "") + eval("z." + v.slice(-1))).slice(-2);

                  });

            return fmt.replace(/(y+)/g, function(v) {

                        return TIME.getFullYear().toString().slice(-v.length);

                  });

      }

      else return time;

}




/**js里**/
formatterTime( 1521011095000 ,"yyyy-MM-dd hh:mm:ss")
/*结果:
    2018-03-14 15:04:55
*/




文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。

转载请注明本文地址:https://www.ucloud.cn/yun/95625.html

相关文章

  • JavaScript 日期权威指南

    摘要:在内部,日期以年月日以来的毫秒数表示。以毫秒为单位记录原因。你也可以使用将返回一个时间戳以毫秒为单位而不是对象。如果您使用天数计算超过一个月,则不会出现错误,日期将转到下个月数月,小时,分钟,秒和毫秒都是如此。 简介showImg(https://segmentfault.com/img/bVbfH0e?w=777&h=512); JavaScript通过强大的对象为我们提供日期处理功...

    ssshooter 评论0 收藏0
  • JavaScript 日期权威指南

    摘要:在内部,日期以年月日以来的毫秒数表示。以毫秒为单位记录原因。你也可以使用将返回一个时间戳以毫秒为单位而不是对象。如果您使用天数计算超过一个月,则不会出现错误,日期将转到下个月数月,小时,分钟,秒和毫秒都是如此。 简介showImg(https://segmentfault.com/img/bVbfH0e?w=777&h=512); JavaScript通过强大的对象为我们提供日期处理功...

    用户83 评论0 收藏0
  • JavaScript 日期权威指南

    摘要:在内部,日期以年月日以来的毫秒数表示。以毫秒为单位记录原因。你也可以使用将返回一个时间戳以毫秒为单位而不是对象。如果您使用天数计算超过一个月,则不会出现错误,日期将转到下个月数月,小时,分钟,秒和毫秒都是如此。 简介showImg(https://segmentfault.com/img/bVbfH0e?w=777&h=512); JavaScript通过强大的对象为我们提供日期处理功...

    xuexiangjys 评论0 收藏0
  • 需要知道JS日期知识,都在这了

    摘要:实际上是格林威治标准时间的同义词默认情况下,中的几乎每个日期方法除了一个都是本地时间。如果你住在格林威治标准时间晚的的地区,你会得到一个日期是月日。需要知道对象日期方法。 为了保证的可读性,本文采用意译而非直译。 想阅读更多优质文章请猛戳GitHub博客,一年百来篇优质文章等着你! JS中的 Date 很奇怪。当我们需要处理日期和时间的时候比较麻烦,经常借助像date-fns和 Mom...

    testbird 评论0 收藏0
  • 时间转换时间日期格式及去重

    摘要:在项目中做的一些站点会涉及时间格式的转换,比如,优惠券的有效期,或者资讯类文章的发表时间等,因从后台传过来的时间是时间戳,需要进行转换,所以在这里进行总结记录下以及去重的处理将时间戳转换成时间日期的形式时间为毫秒数时毫秒数转换成时间格式先乘 在项目中做的一些站点会涉及时间格式的转换,比如,优惠券的有效期,或者资讯类文章的发表时间等,因从后台传过来的时间是时间戳,需要进行转换,所以在这里...

    tianyu 评论0 收藏0

发表评论

0条评论

fjcgreat

|高级讲师

TA的文章

阅读更多
最新活动
阅读需要支付1元查看
<