首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >正确格式的javascript输出日期

正确格式的javascript输出日期
EN

Stack Overflow用户
提问于 2013-07-31 14:19:54
回答 4查看 7.7K关注 0票数 0

我希望以特定的格式输出带有javascript的日期。

2013年-7-31 15:17:56

我会怎么做呢,我搜索了一下,找到了这样的功能,

getYear() & getMonth() & getDay()

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

2013年-6-3

EN

回答 4

Stack Overflow用户

发布于 2013-07-31 14:24:16

有几种方法可以用来处理这个日期对象,如下所示:

创建原型函数

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

代码语言:javascript
运行
复制
//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 dd

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

代码语言:javascript
运行
复制
 //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:ss

此方法与上面的方法相同,但它还包括一些额外的字段,如小时、分钟和秒。

代码语言:javascript
运行
复制
 var date = new Date();

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

Stack Overflow用户

发布于 2013-07-31 14:28:30

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

代码语言:javascript
运行
复制
var year = x.getFullYear();
var month = x.getMonth() + 1;
var day = x.getDate();

注意事项:您需要在日常部分使用getDate() (例如,31)。getDay()会在工作日还给你(例如3 =周三)

其次,您需要处理个位数显示。为此,您可以检查该值是否小于10,如果是,则用"0“填充它。一个小助手函数可以为您完成以下任务:

代码语言:javascript
运行
复制
function pad(x){
    if(x < 10) return "0" + x;
    return x;
}

您最终可以这样使用:

代码语言:javascript
运行
复制
var myDate = year + "-" + pad(month) + "-" + pad(day);

下面是一个有用的例子

当然,正如其他人所说的,使用库要容易得多!

票数 0
EN

Stack Overflow用户

发布于 2015-09-24 06:35:44

这里有一个对我有用的简单方法。它可以对所有日期参数进行扩展。

代码语言:javascript
运行
复制
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);
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/17972971

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档