vue.js怎样将时间戳转化为日期格式

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了vue.js怎样将时间戳转化为日期格式相关的知识,希望对你有一定的参考价值。

将时间戳转换成日期格式:
// 简单的一句代码
var date = new Date(时间戳); //获取一个时间对象 注意:如果是uinx时间戳记得乘于1000。比如php函数time()获得的时间戳就要乘于1000

/*----------下面是获取时间日期的方法,需要什么样的格式自己拼接起来就好了----------*/
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);
Y = date.getFullYear() + '-';
M = (date.getMonth()+1 < 10 ? '0'+(date.getMonth()+1) : date.getMonth()+1) + '-';
D = date.getDate() + ' ';
h = date.getHours() + ':';
m = date.getMinutes() + ':';
s = date.getSeconds();
console.log(Y+M+D+h+m+s); //呀麻碟

//输出结果:2014-04-23 18:55:49

将日期格式转换成时间戳:
// 也很简单
date = new Date('2014-04-23 18:55:49:123'); //传入一个时间格式,如果不传入就是获取现在的时间了,就这么简单。
// 有三种方式获取
time1 = date.getTime()
time2 = date.valueOf()
time3 = Date.parse(date)

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

注意:获取到的时间戳除于1000就可以获得unix的时间戳了,在传值给PHP时用得到。
参考技术A

<!-- value 格式为13位unix时间戳 -->
<!-- 10位unix时间戳可通过value*1000转换为13位格式 -->

export function formatDate (date, fmt)

if (/(y+)/.test(fmt))

fmt = fmt.replace(RegExp.$1, (date.getFullYear() + '').substr(4 - RegExp.$1.length));

let o =

'M+': date.getMonth() + 1,

'd+': date.getDate(),

'h+': date.getHours(),

'm+': date.getMinutes(),

's+': date.getSeconds()

;

for (let k in o)

if (new RegExp(`($k)`).test(fmt))

let str = o[k] + '';

fmt = fmt.replace(RegExp.$1, (RegExp.$1.length === 1) ? str : padLeftZero(str));

return fmt;

;

function padLeftZero (str)

return ('00' + str).substr(str.length);

;

把上面代码保存为date.js放到你的公共js文件夹中。

在你的需要格式化时间戳的组件里像下面这样使用:

<template>

<!-- 过滤器  time 可以使后台得到的数据,循环出来的也行 -->

<div>time | formatDate</div>

<!-- 输出结果 -->

<!-- <div>2016-07-23 21:52</div> -->

</template>

<script>

import formatDate from './common/date.js';

export default

filters:

formatDate(time)

var date = new Date(time);

return formatDate(date, 'yyyy-MM-dd hh:mm');

</script>

这样就可以了

怎么把时间戳转化成时间的正规格式显示出来

    如果是JavaScript,先 var unixTimestamp = new Date(Unix timestamp * 1000) 然后 commonTime = unixTimestamp.toLocaleString()    

    如果是java,String date = new java.text.SimpleDateFormat("dd/MM/yyyy HH:mm:ss").format(new java.util.Date(Unix timestamp * 1000))

    不一样的语言有不同的转换方法,详情请参考码工具网的时间戳转换方法。

参考技术A public static final DateFormat getDateTimeInstance(int dateStyle, int timeStyle, Locale aLocale)
获得日期/时间 formatter,该 formatter 具有给定语言环境的给定格式化风格。
参数:
dateStyle - 给定的日期格式化风格。
timeStyle - 给定的时间格式化风格。
aLocale - 给定的语言环境。
返回:日期/时间 formatter。

以上是关于vue.js怎样将时间戳转化为日期格式的主要内容,如果未能解决你的问题,请参考以下文章

vue.js怎样将时间戳转化为日期格式

js怎么把时间戳转换为日期格式

js怎么把时间戳转换为日期格式

将时间戳转化为日期格式

js时间戳怎么转成日期格式

SQLServer时间戳转日期格式(13位时间戳)