javascript输出日期格式正确

时间:2013-07-31 14:19:55

标签: javascript date datetime

我想用我希望在

中输出的特定格式输出javascript
  

2013-7-31 15:17:56

我将如何做到这一点,我已经google了,并找到了像

这样的功能

getYear()& getMonth()& getDay()

但是我似乎用这些函数得到了这个输出

  

2013年6月3日

4 个答案:

答案 0 :(得分:1)

您可以使用几种方法来处理此Date object,如下所示:

创建原型函数

您可以创建一个非常基本的原型函数,它允许您使用每个组件显式构建一个字符串,如果您打算重复使用此函数或类似函数,这可能是一个很好的方法:

//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());

Example

输出为yyyy-mm-dd

与上面的示例非常相似,您可以使用Date对象的各个组件直接构建字符串:

 //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

此方法与上述方法相同,但它还包括一些其他字段,例如小时,分钟和秒。

 var date = new Date();

 var formatted = date.getFullYear() + '-' + (date.getMonth() + 1) + '-' + date.getDate() + ' ' + date.getHours() + ':' + date.getMinutes() + ':' + date.getSeconds();

答案 1 :(得分:0)

首先,您需要处理月份为0的事实(即0 = Jan,1 = feb等)。为此,当您获得3个值时,可以简单地增加月份值:

var year = x.getFullYear();
var month = x.getMonth() + 1;
var day = x.getDate();

注意:您需要在日期部分使用getDate()(例如31)。 getDay()会在工作日返回给您(例如3 =星期三)

其次,您需要处理单位数字显示。为此,您可以检查该值是否小于10,如果是,请使用" 0"填充它。一个小帮手功能可以为你做到这一点:

function pad(x){
    if(x < 10) return "0" + x;
    return x;
}

你最终可以这样使用:

var myDate = year + "-" + pad(month) + "-" + pad(day);

Here is a working example

当然,正如其他人所说,使用图书馆会容易得多!

答案 2 :(得分:0)

这是一个适合我的简单方法。它可以扩展到所有日期参数。

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);

答案 3 :(得分:0)

我知道OP询问过Javascript,但是根据丑陋(尽管正确)的答案判断,指定Javascript是错误的问题。
HTML没有打印当前日期和时间的方法,它应该有。有人应该发明一个。
但是PHP是完成所需工作的方式:

<?php print date("j M Y H:i"); ?>  

PHP有38种不同格式的符号可以满足您的各种需求,请参见https://www.php.net/manual/en/function.date.php