Jquery 从年月日到年月日的格式转换发布日期?

Jquery 从年月日到年月日的格式转换发布日期?,jquery,date,datetime,knockout.js,Jquery,Date,Datetime,Knockout.js,我需要以DD/MM/YYY格式显示我的所有日期 我正在做这样可怕的代码来实现我所需要的。这对任何人都不可取 从我的控制器中,我得到了我的视图模型(js)的日期时间。所以,我需要通过做一些格式化来显示DateTime,也就是DD/MM-YY格式的日期 示例: 从控制器我得到:10-01-2014T00:00:00 在视图模型中,我需要这样转换:10/01/2014并显示 这就是我实现目标的方式,任何替代方案都是非常值得赞赏的 var s = data.LicenseOneTimeList[k].C

我需要以DD/MM/YYY格式显示我的所有日期

我正在做这样可怕的代码来实现我所需要的。这对任何人都不可取

从我的控制器中,我得到了我的视图模型(js)的日期时间。所以,我需要通过做一些格式化来显示DateTime,也就是DD/MM-YY格式的日期

示例:

从控制器我得到:
10-01-2014T00:00:00

在视图模型中,我需要这样转换:
10/01/2014
并显示

这就是我实现目标的方式,任何替代方案都是非常值得赞赏的

var s = data.LicenseOneTimeList[k].CompletionDate; //s = 10-01-2014T00:00:00

var len = s.length;
var d = s.substring(0, 2);
var m = s.substring(3, len - 14);
var y = s.substring(6, len - 9);    
var dateformat = new Date(y, m, d);

var month = dateformat.getMonth() > 9 ? 
dateformat.getMonth() : ("0" + (dateformat.getMonth()));
var date = dateformat.getDate() > 9 ? dateformat.getDate(): ("0" + dateformat.getDate());

var convertedDate = date + "/" + month + "/" + dateformat.getFullYear();
                                                             List.CompletionDate(convertedDate);
List.CompletionDate()
将于2014年1月10日发布

我有我这样做的理由。 最初,我尝试不拆分代码,即使用子字符串,但如果我将日期时间传递到
新日期(
我会得到错误的结果。我尝试使用date.js等,但这将有助于我显示,但在发回时会导致严重问题


因此,任何可能缩短上述代码的方法都是值得赞赏的,任何替代方法都是受欢迎的。

要么是日期
字符串
,因此无需转换为
日期
对象。因此,我建议您像这样简化

var s = data.LicenseOneTimeList[k].CompletionDate; //s = 10-01-2014T00:00:00
var dateTime_string = s.split("T");
var date_string = dateTime_string[0].replace(/-/g, "/"); // 10/01/2014

我通常不会提倡这种方法,但如果您只需要以该格式显示它(即,您不需要执行任何日期计算),并且您可以保证它总是以该格式返回(dd-mm-yyyyth:mm:ss),那么您可以使用以下方法:

var convertedDate = s.substring(0, s.indexOf("T")).replace(/-/g,"/");

您尝试的日期构造函数有点宽容(它在内部使用),但不幸的是,您的字符串不是公认的格式之一。另请参阅和。

是的,您是对的,这很有意义:)感谢您提供的丰富信息。
var convertedDate = s.substring(0, s.indexOf("T")).replace(/-/g,"/");