如何获取javascript中的日期和时间为12/08 / 2015-1:49?我尝试了以下操作,但收到错误TypeError: now.format is not a function
var now = new Date();
now.format("dd/mm/yy-h:mm tt");
console.log(now); //TypeError: now.format is not a function
答案 0 :(得分:3)
JavaScript中没有format
的{{1}}方法。您需要使用任何其他外部库,如momentjs,或编写自己的脚本进行格式化。
以下是如何将日期转换为dd / mm / yy-h:mm tt格式的示例
Date
答案 1 :(得分:1)
试试这个:
function getFormattedDate() {
var date = new Date();
var str = date.getDate() + "/" + (date.getMonth() + 1) + "/" + date.getYear() + "-" + date.getHours() + ":" + date.getMinutes() + " " + date.getSeconds();
return str;
}
答案 2 :(得分:1)
扩展Date的原型,添加功能格式
Date.prototype.format = function(format){
format = format || "Y/M/D H:I:S";
var data = {
y: this.getFullYear() % 100,
Y: this.getFullYear(),
m: this.getMonth() + 1,
d: this.getDate(),
h: this.getHours(),
i: this.getMinutes(),
s: this.getSeconds()
};
var needAddZeroLTTen = "mdhis".split('');
for(var i = 0; i < needAddZeroLTTen.length; i ++){
var prop = needAddZeroLTTen[i];
data[prop.toUpperCase()] = data[prop] < 10 ? ('0' + data[prop]) : data[prop];
}
var dateStr = format;
for(var i in data){
var reg = new RegExp(i,'g');
dateStr = dateStr.replace(reg, data[i]);
}
return dateStr;
}
然后使用以下代码格式化日期
var date = new Date();
var dateStr = date.format('D/M/y-h:I');
答案 3 :(得分:0)
在js中管理日期的最佳方法是使用http://momentjs.com/,您可以找到格式化日期的好方法
答案 4 :(得分:0)
你可以
通过使用Date上的函数(例如date.getMonth())手动执行此操作,但是这些函数不支持零填充,并且它非常繁琐。只有当你不能包含第三方库时,才能做到这一点,你会对加载时间/性能有所了解,或者你真的很喜欢重新发明轮子。
使用像moment这样的第三方库,它有多种格式并支持填充,例如MM会将月份强制为两个字符。
实施例
var now = new Date();
console.log(moment(now).format("DD/MM/YY-hh:mm Z"));
答案 5 :(得分:-1)
Moment.JS会帮助你。 请看一下这个JSFiddle:http://jsfiddle.net/f3zp5zuv/
alert (moment('2015 Apr 30').format('DD/MM/YY -h:mm'))
时刻:http://momentjs.com/docs/#/displaying/
alert (moment('2015 Apr 30 14:42:00').format('DD/MM/YY -h:mm'))
<script src="http://momentjs.com/downloads/moment.js"></script>