Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/date/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在javascript中将日期字符串转换为dd/mm/yy_Javascript_Date - Fatal编程技术网

在javascript中将日期字符串转换为dd/mm/yy

在javascript中将日期字符串转换为dd/mm/yy,javascript,date,Javascript,Date,我想皈依 Tue Jul 12 2016 00:00:00 GMT+0100 (BST) 进入 假设我有d=2016年7月12日星期二00:00:00 GMT+0100(英国夏令时)。我试过了 但我得到的是2016年7月12日,而不是2016年7月12日 我可以 if(d.getMonth()<10){ var a = d.getDate()+"/0"+(d.getMonth()+1)+"/"+d.getFullYear(); if(d.getMonth() var-date=

我想皈依

Tue Jul 12 2016 00:00:00 GMT+0100 (BST)
进入

假设我有d=2016年7月12日星期二00:00:00 GMT+0100(英国夏令时)。我试过了

但我得到的是2016年7月12日,而不是2016年7月12日

我可以

if(d.getMonth()<10){
    var a = d.getDate()+"/0"+(d.getMonth()+1)+"/"+d.getFullYear();
if(d.getMonth()
var-date=新日期();
var dateFormat=getFormatDate(日期);
var dateOneLiner=getFormattedDateOneLiner(日期);
日志(“DateFormat”,DateFormat);
console.log(“OneLiner”,dateOneLiner);
函数getFormatDate(pDate)
{
var day=pDate.getDate();
var month=pDate.getMonth()+1;
var year=pDate.getFullYear();
如果(月<10)
月份=“0”+月份;
如果(第10天)
day=“0”+天;
返回日+“/”+月+“/”+年;
}
函数getFormattedDateOneLiner(pDate)
{  
返回(pDate.getDate()<10?.0“+pDate.getDate():pDate.getDate())+“/”+((pDate.getMonth()+1)<10?+0“+(pDate.getMonth()+1):(pDate.getMonth()+1))+“/”+pDate.getFullYear();

}
诀窍是添加一个条件来检查一天或一个月是否少于10,如果是,则添加一个0。下面这个方法是它的一个简写版本,但它可以工作。当然,我有一些额外的东西,比如yyyy、mm和dd的定义,只是为了让它更清楚地说明事情的来源。但是
中的部分返回
这就是魔力所在,你或许可以将其应用于你的处境

Date.prototype.yyyymmdd=function(){
var yyyy=this.getFullYear().toString();
var mm=(this.getMonth()+1.toString();//getMonth()是基于零的
var dd=this.getDate().toString();
返回(mm[1]?mm:“0”+mm[0])+“/”+(dd[1]?dd:“0”+dd[0])+“/”+yyyy;//填充
};
d=新日期();
document.getElementById(“日期”).innerHTML=d.yyyymmd();

您可以使用这样一行:

    var a = (d.getDate() < 10? "0"+d.getDate():d.getDate())
     +"/"+   (d.getMonth()+1 <10? ("0"+(d.getMonth()+1)):d.getMonth()+1 )
     +"/"+d.getFullYear();
var a=(d.getDate()<10?“0”+d.getDate():d.getDate())
+“/”+(d.getMonth()+1这个怎么样

var month=7;//七月(月份以0为基数)
var日=12;
风险值年份=2016年;
var d=新日期(年、月、日);
变量a=pad(d.getDate(),2)+“/”+pad(d.getMonth()+1,2)+“/”+d.getFullYear();
控制台日志(a)
功能板(数量、大小){
var s=num+“”;
而(s.length}
有很多方法可以做到这一点。这里有两种可能的一行程序:

var a = ("0"+d.getDate()).slice(-2)+"/"+("0"+(d.getMonth()+1)).slice(-2)+"/"+d.getFullYear();

var a = ("0"+d.getDate()+"/0"+(d.getMonth()+1)).replace(/\d(\d\d)/g, '$1')+"/"+d.getFullYear();

当你说你有
2016年7月12日星期二00:00:00 GMT+0100(英国夏令时)
这是如何生成的?如果以另一种方式收集日期有关系吗?任何方法都可以。我用新的date()方法生成日期。有数百个问题会问这个问题。其中有没有解决你的问题?--看看
(“0”+d.getDate())如何.slice(-2)
Shoot,你没有看到你要求一个平滑的方法来实现这一点的部分。好吧,无论如何,这是实现这一点的全部方法。对于那些偶然发现这一点的人来说。我想这并不太混乱,因为我认为java脚本中可能已经内置了一些东西。这就是我使用格式的方式,我添加了一行代码。但是这有点难读,但是它的作用完全相同。如果长度为零怎么办?@RobG fixed;)(对于那些想知道发生了什么变化的人来说:惯用的可选值代码(
param=param | | | default
)不起作用
0
(因为这是错误的,还有像
false
,默认值为
true
)这样的代码不能按预期工作)
    var a = (d.getDate() < 10? "0"+d.getDate():d.getDate())
     +"/"+   (d.getMonth()+1 <10? ("0"+(d.getMonth()+1)):d.getMonth()+1 )
     +"/"+d.getFullYear();
var a = ("0"+d.getDate()).slice(-2)+"/"+("0"+(d.getMonth()+1)).slice(-2)+"/"+d.getFullYear();

var a = ("0"+d.getDate()+"/0"+(d.getMonth()+1)).replace(/\d(\d\d)/g, '$1')+"/"+d.getFullYear();