javascript output date in correct format
我想用我想要输出的特定格式输出javascript日期
2013-7-31 15:17:56
我怎么会这样做,我用Google搜索,找到了像
但我似乎得到了这些功能的输出
2013-6-3
您可以使用几种方法来处理此Date对象,如下所示:
创建原型函数
您可以创建一个非常基本的原型函数,它允许您使用每个组件显式构建一个字符串,如果您打算重复使用此函数或类似的函数,这可能是一个很好的方法:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 | //Creating a Prototype Date.prototype.yyyymmddhhmmss = function() { //Grab each of your components var yyyy = this.getFullYear().toString(); var MM = (this.getMonth()+1).toString(); var dd = this.getDate().toString(); var hh = this.getHours().toString(); var mm = this.getMinutes().toString(); var ss = this.getSeconds().toString(); //Returns your formatted result return yyyy + '-' + (MM[1]?MM:"0"+MM[0]) + '-' + (dd[1]?dd:"0"+dd[0]) + ' ' + (hh[1]?hh:"0"+hh[0]) + ':' + (mm[1]?mm:"0"+mm[0]) + ':' + (ss[1]?ss:"0"+ss[0]); }; //Usage alert(new Date().yyyymmddhhmmss()); |
例
输出为yyyy-mm-dd
与上面的示例非常相似,您可以使用Date对象的各个组件直接构建字符串:
1 2 3 4 5 | //Create a Date object var date = new Date(); //Concatenate the sections of your Date into a string ("yyyy-mm-dd") var formatted = date.getFullYear() + '-' + (date.getMonth() + 1) + '-' + date.getDate(); |
输出为yyyy-mm-dd hh:mm:ss
此方法与上述方法相同,但它还包括一些其他字段,如小时,分钟和秒。
1 2 3 | var date = new Date(); var formatted = date.getFullYear() + '-' + (date.getMonth() + 1) + '-' + date.getDate() + ' ' + date.getHours() + ':' + date.getMinutes() + ':' + date.getSeconds(); |
这是一个适合我的简单方法。它可以扩展为所有Date参数。
1 2 3 4 5 6 | var mm = currentDay.getMonth()+1; mm = (mm<10?"0"+mm:mm); var dd = currentDay.getDate(); dd = (dd<10?"0"+dd:dd); $log.info(mm+"/"+dd); |
首先,您需要处理月份
1 2 3 | var year = x.getFullYear(); var month = x.getMonth() + 1; var day = x.getDate(); |
注意:您需要在日期部分使用
其次,您需要处理单位数字显示。为此,您可以检查该值是否小于
1 2 3 4 | function pad(x){ if(x < 10) return"0" + x; return x; } |
你最终可以这样使用:
1 | var myDate = year +"-" + pad(month) +"-" + pad(day); |
这是一个有效的例子
当然,正如其他人所说,使用图书馆会容易得多!