JavaScript日期格式转换。

时间:2016-07-14 07:17:01

标签: javascript c# angularjs asp.net-mvc

datetimepicker的日期格式为:

viewData.push(jsonData);

这个日期有var currentDate = new Date(); currentDate = Thu Jul 14 2016 09:10:04 GMT+0200 (Środkowoeuropejski czas letni) {} 等方法。

但是当我将其发送到我的API时,此日期为.getFullYear()并将其发送回前端,它看起来DateTime并且它没有像2016-07-22T22:00:00Z等方法。

这对我来说是个问题。我需要检测日期是否格式为.getFullYear()并将其转换为第一种格式。

我怎么做?我无法使用momentjs。

5 个答案:

答案 0 :(得分:1)

在javascript格式化日期字符串

var date = new Date();
var day = date.getDay();        
var month = date.getMonth();   
var year = date.getFullYear();  
var hour = date.getHours();     
var minute = date.getMinutes(); 
var second = date.getSeconds(); 

var datetime= day + "/" + month + "/" + year + " " + hour + ':' + minute + ':' + second; 

然后在c#

DateTime.ParseExact(DatetimeString , "dd/MM/yyyy HH:mm:ss", CultureInfo.InvariantCulture);

答案 1 :(得分:1)

为什么你不使用它: http://momentjs.com/

这允许所有排序,如果格式化,由于可能的日期不正确使用它更安全

var a = moment('2016-01-01'); 
var b = a.add(1, 'week'); 
a.format();
"2016-01-08T00:00:00-06:00"

moment().format("MMM Do YY");               // Jul 14th 16

答案 2 :(得分:0)

使用标准格式yyyy-mm-dd hh-mm-ss

您可能会从API接收字符串。所以你必须将它解析回Date对象

var newDateObject = new Date(dateStringFromAPI);

然后,您可以访问newDateObject.getDay() newDateObject.getFullYear()

答案 3 :(得分:0)

当您使用AngularJS时,您只需使用Angular的日期过滤器https://docs.angularjs.org/api/ng/filter/date格式化日期

答案 4 :(得分:0)

祝你好运!

看起来前端不解析API数据集来创建日期对象(没有日期 - 对象 - 没有日期 - 方法) - 这是一个解决方案:

  1. 在前端启用日期解析;
  2. 如果需要,请在API输出上应用日期时间格式(MSDN文章:日期和时间格式字符串 - StandardCustom);
  3. 将API处理的数据发送到前端。