什么是Unix时间戳(Unix timestamp): Unix时间戳(Unix timestamp),或称Unix时间(Unix time)、POSIX时间(POSIX time),是一种时间表示方式,定义为从格林威治时间1970年01月01日00时00分00秒起至现在的总秒数。Unix时间戳不仅被使用在Unix系统、类Unix系统中,也在许多其他操作系统中被广泛采用。

目前相当一部分操作系统使用32位二进制数字表示时间。此类系统的Unix时间戳最多可以使用到格林威治时间2038年01月19日03时14分07秒(二进制:01111111 11111111 11111111 11111111)。其后一秒,二进制数字会变为10000000 00000000 00000000 00000000,发生溢出错误,造成系统将时间误解为1901年12月13日20时45分52秒。这很可能会引起软件故障,甚至是系统瘫痪。使用64位二进制数字表示时间的系统(最多可以使用到格林威治时间292,277,026,596年12月04日15时30分08秒)则基本不会遇到这类溢出问题。

一.js将时间转换成时间戳

1.js获取当前时间戳的方法

var timestamp1 = Date.parse(new Date());
var timestamp2 = (new Date()).valueOf();
var timestamp3 = new Date().getTime();

第一种:获取的时间戳是把毫秒改成000显示,第二种和第三种是获取了当前毫秒的时间戳。

2.js获取制定时间戳的方法

var oldTime = (new Date("2015/06/23 08:00:20")).getTime()/1000;

getTime()返回数值的单位是毫秒。

演示

二.js把时间戳转为为普通日期格式

1.Date toLocaleString方法

function getLocalTime(nS) {     return new Date(parseInt(nS) * 1000).toLocaleString().replace(/:\d{1,2}$/,' ');
}

parseInt() 函数可解析一个字符串,并返回一个整数。

js中时间操作单位是毫秒。

toLocaleString() 方法可根据本地时间把 Date 对象转换为字符串,并返回结果。

replace() 方法用于在字符串中用一些字符替换另一些字符,或替换一个与正则表达式匹配的子串。

replace(/:\d{1,2}$/,' ')验证替换以:开始有一位或二位数字的结束字符串,就是秒;替换为空

显示如下:

演示

所以我们可以利用正则表达式改变我们想要的日期格式。

2.Date 属性方法

function add0(m){return m<10?'0'+m:m }
function format(shijianchuo)
{
//shijianchuo是整数,否则要parseInt转换
var time = new Date(shijianchuo);
var y = time.getFullYear();
var m = time.getMonth()+1;
var d = time.getDate();
var h = time.getHours();
var mm = time.getMinutes();
var s = time.getSeconds();
return y+'-'+add0(m)+'-'+add0(d)+' '+add0(h)+':'+add0(mm)+':'+add0(s);
}

演示

三.封装的时间格式器

/** * 和PHP一样的时间戳格式化函数 * @param  {string} format    格式 * @param  {int}    timestamp 要格式化的时间 默认为当前时间 * @return {string}           格式化的时间字符串 */
function date(format, timestamp){  var a, jsdate=((timestamp) ? new Date(timestamp*1000) : new Date()); var pad = function(n, c){ if((n = n + "").length < c){ return new Array(++c - n.length).join("0") + n; } else { return n; } }; var txt_weekdays = ["Sunday", "Monday", "Tuesday", "Wednesday", "Thursday", "Friday", "Saturday"]; var txt_ordin = {1:"st", 2:"nd", 3:"rd", 21:"st", 22:"nd", 23:"rd", 31:"st"}; var txt_months = ["", "January", "February", "March", "April", "May", "June", "July", "August", "September", "October", "November", "December"];  var f = { // Day d: function(){return pad(f.j(), 2)}, D: function(){return f.l().substr(0,3)}, j: function(){return jsdate.getDate()}, l: function(){return txt_weekdays[f.w()]}, N: function(){return f.w() + 1}, S: function(){return txt_ordin[f.j()] ? txt_ordin[f.j()] : 'th'}, w: function(){return jsdate.getDay()}, z: function(){return (jsdate - new Date(jsdate.getFullYear() + "/1/1")) / 864e5 >> 0}, // Week W: function(){ var a = f.z(), b = 364 + f.L() - a; var nd2, nd = (new Date(jsdate.getFullYear() + "/1/1").getDay() || 7) - 1; if(b <= 2 && ((jsdate.getDay() || 7) - 1) <= 2 - b){ return 1; } else{ if(a <= 2 && nd >= 4 && a >= (6 - nd)){ nd2 = new Date(jsdate.getFullYear() - 1 + "/12/31"); return date("W", Math.round(nd2.getTime()/1000)); } else{ return (1 + (nd <= 3 ? ((a + nd) / 7) : (a - (7 - nd)) / 7) >> 0); } } }, // Month F: function(){return txt_months[f.n()]}, m: function(){return pad(f.n(), 2)}, M: function(){return f.F().substr(0,3)}, n: function(){return jsdate.getMonth() + 1}, t: function(){ var n; if( (n = jsdate.getMonth() + 1) == 2 ){ return 28 + f.L(); } else{ if( n & 1 && n < 8 || !(n & 1) && n > 7 ){ return 31; } else{ return 30; } } }, // Year L: function(){var y = f.Y();return (!(y & 3) && (y % 1e2 || !(y % 4e2))) ? 1 : 0}, //o not supported yet Y: function(){return jsdate.getFullYear()}, y: function(){return (jsdate.getFullYear() + "").slice(2)}, // Time a: function(){return jsdate.getHours() > 11 ? "pm" : "am"}, A: function(){return f.a().toUpperCase()}, B: function(){ // peter paul koch: var off = (jsdate.getTimezoneOffset() + 60)*60; var theSeconds = (jsdate.getHours() * 3600) + (jsdate.getMinutes() * 60) + jsdate.getSeconds() + off; var beat = Math.floor(theSeconds/86.4); if (beat > 1000) beat -= 1000; if (beat < 0) beat += 1000; if ((String(beat)).length == 1) beat = "00"+beat; if ((String(beat)).length == 2) beat = "0"+beat; return beat; }, g: function(){return jsdate.getHours() % 12 || 12}, G: function(){return jsdate.getHours()}, h: function(){return pad(f.g(), 2)}, H: function(){return pad(jsdate.getHours(), 2)}, i: function(){return pad(jsdate.getMinutes(), 2)}, s: function(){return pad(jsdate.getSeconds(), 2)}, //u not supported yet // Timezone //e not supported yet //I not supported yet O: function(){ var t = pad(Math.abs(jsdate.getTimezoneOffset()/60*100), 4); if (jsdate.getTimezoneOffset() > 0) t = "-" + t; else t = "+" + t; return t; }, P: function(){var O = f.O();return (O.substr(0, 3) + ":" + O.substr(3, 2))}, //T not supported yet //Z not supported yet // Full Date/Time c: function(){return f.Y() + "-" + f.m() + "-" + f.d() + "T" + f.h() + ":" + f.i() + ":" + f.s() + f.P()}, //r not supported yet U: function(){return Math.round(jsdate.getTime()/1000)}
    }; return format.replace(/[\]?([a-zA-Z])/g, function(t, s){ if( t!=s ){ // escaped ret = s; } else if( f[s] ){ // a date function exists ret = f[s](); } else{ // nothing special ret = s; } return ret; });
}

调用方法 能够很方便的将时间戳转换成日期的格式,如:

date('Y-m-d','1350052653');//很方便的将时间戳转换成了2012-10-11
date('Y-m-d H:i:s','1350052653');//得到的结果是2012-10-12 22:37:33

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

from: http://www.cnblogs.com/jingwhale/p/4674946.html

js 时间戳转为日期格式相关推荐

  1. Js时间戳转为日期格式

    这个在php+mssql(日期类型为datetime)+ajax的时候才能用到,js需要把时间戳转为为普通格式,一般的情况下可能用不到 [php] view plaincopy <script& ...

  2. 微信小程序将时间戳转为日期格式

    微信小程序,时间戳转为日期格式 在小程序中使用时间选择器时,获取到的时间可能是一个时间戳,这并不是我们想要的,这时候我们得将获取到的时间戳进行转换 将时间戳转为时间格式 //转换为时间格式format ...

  3. vue.js 时间戳转换日期格式

    时间戳可以理解为过滤器的一种方式,日期格式的转换在项目中也经常遇到,今天我来总结项目中踩过的坑,以及解决方法. 时间戳转换日期格式有三种方法: 方式一 运行 cmd 执行 npm install mo ...

  4. js时间戳与日期格式的相互转换

    时间戳是自 1970 年 1 月 1 日(00:00:00 GMT)以来的秒数.它也被称为 Unix 时间戳(Unix Timestamp). 下面总结一下js中时间戳与日期格式的相互转换: 1. 将 ...

  5. js 将时间戳转为日期格式

    最近项目需要在前端将一个13位的时间戳显示成日期格式,在网上查了很多都不符合要求,只有一个是能满足要求的,在这记录一下,说不定以后还用的着. 13位时间戳改为yyyy-MM-dd HH-mm-ss 格 ...

  6. 微信小程序,时间戳转为日期格式

    //数据转化 function formatNumber(n) {n = n.toString()return n[1] ? n : '0' + n }/*** 时间戳转化为年 月 日 时 分 秒* ...

  7. js 时间戳和日期格式相互转换

    一.时间戳转化为日期格式 这个比较麻烦,没有找到js自带函数进行转换,所以需自定义一个函数,可作为公共函数使用. 使用效果如下: time = timestampToTime(1660208851); ...

  8. js与php时间戳,js时间戳与日期格式之间的互转

    1. 将时间戳转换成日期格式 // 简单的一句代码 var date = new Date(时间戳); //获取一个时间对象 /** 1. 下面是获取时间日期的方法,需要什么样的格式自己拼接起来就好了 ...

  9. js 时间戳与日期格式之间的互转(转载)

    本文转自:https://segmentfault.com/a/1190000000481753 1. 将时间戳转换成日期格式 // 简单的一句代码 var date = new Date(时间戳); ...

最新文章

  1. 宜宾地震,这个系统跑赢了“地震波”!
  2. guava Throwables类文档翻译及用法入门
  3. 机器学习笔记:时间序列分解(滑动平均)
  4. EM算法(Expectation Maximization Algorithm)详解
  5. inline hook学习
  6. 2021-10-7 !二叉树的层序遍历
  7. php yield 个人小解_php 技术 yield 问题
  8. 如何汉化 OpenERP 6.1 日历视图
  9. 尚硅谷最新版JavaWeb全套教程,java web零基础入门完整版(三)
  10. 多场景抢红包业务引发.NETCore下使用适配器模式实现业务接口分离
  11. 【遥感物候】植被物候与气候(气温和降水)条件的空间相关性分析
  12. 向左滚动,每次滚动的长度可以设置,然后暂停后继续滚动
  13. 前端学习(2952):webpack目录结构
  14. html设置照片模糊效果,CSS如何实现照片模糊?
  15. 【5分钟 Paper】Continuous Control With Deep Reinforcement Learning
  16. 为caffe添加最简单的全通层AllPassLayer
  17. 控制台运行jar中文乱码问题
  18. SoftIce,IDA pro强强联合!从SOFTICE中打开IDA Pro输出的map信息文件
  19. Python 图片转pdf
  20. 二十一世纪最该了解的一类人:找个极客做朋友吧

热门文章

  1. 【反欺诈】互金欺诈与反欺诈
  2. 结构体DIR和dirent
  3. 深入Bert实战(Pytorch)----fine-Tuning 2
  4. MapReduce示例——WordCount(统计单词)
  5. 水氢发动机在南阳下线,市委书记点赞!
  6. 华为,15万大军孤独行走在世界上
  7. mysql对数据库进行备份吗_怎么对MySQL数据库进行备份与恢复
  8. jvm性能调优实战 - 30使用jmap和jhat摸清线上系统的对象分布
  9. Redis进阶-如何发现和优雅的处理BigKey一二事
  10. Spring-AOP 自动创建代理之DefaultAdvisorAutoProxyCreator