• 博客园logo
  • 会员
  • 众包
  • 新闻
  • 博问
  • 闪存
  • 赞助商
  • HarmonyOS
  • Chat2DB
    • 搜索
      所有博客
    • 搜索
      当前博客
  • 写随笔 我的博客 短消息 简洁模式
    用户头像
    我的博客 我的园子 账号设置 会员中心 简洁模式 ... 退出登录
    注册 登录
ellaha
博客园    首页    新随笔    联系   管理    订阅  订阅
js时间戳与日期格式之间的互转

转载https://segmentfault.com/a/1190000000481753

1. 将时间戳转换成日期格式

// 简单的一句代码
var date = new Date(时间戳); //获取一个时间对象

/**
 1. 下面是获取时间日期的方法,需要什么样的格式自己拼接起来就好了
 2. 更多好用的方法可以在这查到 -> http://www.w3school.com.cn/jsref/jsref_obj_date.asp
 */
date.getFullYear();  // 获取完整的年份(4位,1970)
date.getMonth();  // 获取月份(0-11,0代表1月,用的时候记得加上1)
date.getDate();  // 获取日(1-31)
date.getTime();  // 获取时间(从1970.1.1开始的毫秒数)
date.getHours();  // 获取小时数(0-23)
date.getMinutes();  // 获取分钟数(0-59)
date.getSeconds();  // 获取秒数(0-59)

例子

// 比如需要这样的格式 yyyy-MM-dd hh:mm:ss
var date = new Date(1398250549490);
var Y = date.getFullYear() + '-';
var M = (date.getMonth()+1 < 10 ? '0'+(date.getMonth()+1) : date.getMonth()+1) + '-';
var D = date.getDate() + ' ';

var h = ((date.getHours() < 10) ? '0'+(date.getHours()) : date.getHours()) + ':';
  var m = ((date.getMinutes() < 10) ? '0'+(date.getMinutes()) : date.getMinutes()) + ':';
  var s = (date.getSeconds() < 10) ? '0'+(date.getSeconds()) : date.getSeconds();
console.log(Y+M+D+h+m+s); //呀麻碟
// 输出结果:2014-04-23 18:55:49

2. 将日期格式转换成时间戳

// 也很简单
var strtime = '2014-04-23 18:55:49:123';
var date = new Date(strtime); //传入一个时间格式,如果不传入就是获取现在的时间了,这样做不兼容火狐。
// 可以这样做
var date = new Date(strtime.replace(/-/g, '/'));

// 有三种方式获取,在后面会讲到三种方式的区别
time1 = date.getTime();
time2 = date.valueOf();
time3 = Date.parse(date);

/* 
三种获取的区别:
第一、第二种:会精确到毫秒
第三种:只能精确到秒,毫秒将用0来代替
比如上面代码输出的结果(一眼就能看出区别):
1398250549123
1398250549123
1398250549000 
*/

3. Date()参数形式有7种

new Date("month dd,yyyy hh:mm:ss");

new Date("month dd,yyyy");

new Date("yyyy/MM/dd hh:mm:ss");

new Date("yyyy/MM/dd");

new Date(yyyy,mth,dd,hh,mm,ss);

new Date(yyyy,mth,dd);

new Date(ms);

例子

new Date("September 16,2016 14:15:05");

new Date("September 16,2016");

new Date("2016/09/16 14:15:05");

new Date("2016/09/16");

new Date(2016,8,16,14,15,5); // 月份从0~11

new Date(2016,8,16);

new Date(1474006780);
posted on 2021-04-06 09:34  ellaha  阅读(89)  评论(0)    收藏  举报
刷新页面返回顶部
博客园  ©  2004-2025
浙公网安备 33010602011771号 浙ICP备2021040463号-3