js时间的常用方法
var myDate = new Date();//也可以new Date(long).
myDate.getYear(); //获取当前年份(2位)
myDate.getFullYear(); //获取完整的年份(4位,1970-???)
myDate.getMonth(); //获取当前月份(0-11,0代表1月)
myDate.getDate(); //获取当前日(1-31)
myDate.getDay(); //获取当前星期X(0-6,0代表星期天)
myDate.getTime(); //获取当前时间(从1970.1.1开始的毫秒数)
myDate.getHours(); //获取当前小时数(0-23)
myDate.getMinutes(); //获取当前分钟数(0-59)
myDate.getSeconds(); //获取当前秒数(0-59)
myDate.getMilliseconds(); //获取当前毫秒数(0-999)
myDate.toLocaleDateString(); //获取当前日期
var mytime=myDate.toLocaleTimeString(); //获取当前时间
myDate.toLocaleString( ); //获取日期与时间
'2018-08-15T08:04:52.000+0000’转换为‘2018-08-15 16:04:52’
下面写了三种转换的方法
使用:filters里写一个函数format 使用转换时间的方法,
在html里使用 例:{{scope.row.date || format}}
<script>
let num = '2018-08-15T08:04:52.000+0000'
// 方法一
dateTime(num)
function dateTime(rowData){
var d = new Date(rowData)
// new Date('2018-08-15T08:04:52.000+0000') = Wed Aug 15 2018 16:04:52 GMT+0800 (中国标准时间)
var a= d.getFullYear() + '-'
+ (d.getMonth() + 1 < 10 ? "0" + (d.getMonth() + 1) : d.getMonth() + 1) + '-'
+ (d.getDate()< 10 ? "0" +d.getDate():d.getDate())+ ' '
+ (d.getHours()<10 ? "0" + d.getHours(): d.getHours()) + ':'
+ (d.getMinutes()<10 ? "0" + d.getMinutes(): d.getMinutes()) + ':'
+ (d.getSeconds()<10 ? "0" + d.getSeconds() : d.getSeconds() )
console.log(a) // 2018-08-15 16:04:52
return a
}
//方法二
myFunction();
function myFunction(){
var dateee = new Date("2018-08-15T08:04:52.000+0000").toJSON();
var date = new Date(+new Date(dateee)+8*3600*1000).toISOString().replace(/T/g,' ').replace(/\.[\d]{3}Z/,'')
console.log(date); //2018-08-15 16:04:52
}
// 方法三
parseTime(num)
function parseTime(time, cFormat) {
if (arguments.length === 0) {
return null
}
const format = cFormat || '{y}-{m}-{d} {h}:{i}:{s}'
let date
if (typeof time === 'object') {
date = time
} else {
if ((typeof time === 'string') && (/^[0-9]+$/.test(time))) {
time = parseInt(time)
}
if ((typeof time === 'number') && (time.toString().length === 10)) {
time = time * 1000
}
date = new Date(time)
}
const formatObj = {
y: date.getFullYear(),
m: date.getMonth() + 1,
d: date.getDate(),
h: date.getHours(),
i: date.getMinutes(),
s: date.getSeconds(),
a: date.getDay()
}
const time_str = format.replace(/{(y|m|d|h|i|s|a)+}/g, (result, key) => {
let value = formatObj[key]
// Note: getDay() returns 0 on Sunday
if (key === 'a') { return ['日', '一', '二', '三', '四', '五', '六'][value ] }
if (result.length > 0 && value < 10) {
value = '0' + value
}
return value || 0
})
console.log(time_str); //2018-08-15 16:04:52
return time_str
}
</script>