将datetime从服务器转换为字符串javascript

将datetime从服务器转换为字符串javascript,javascript,c#,Javascript,C#,ASP.NET MVC 5.NET 4.6.1 c# 我在服务器上设置了一个日期,如下所示: public JsonResult GetDate() { var date = DateTime.Now; return Json(date); } 当我通过ajax调用此方法时,返回的日期如下: Date(1464670800000) 我知道我可以在服务器上格式化日期,但我不想这样做,因为页面不同部分的日期格式会发生变化,所以我想

ASP.NET MVC 5.NET 4.6.1 c#

我在服务器上设置了一个日期,如下所示:

    public JsonResult GetDate()
    {
        var date = DateTime.Now;
        return Json(date);
    }
当我通过ajax调用此方法时,返回的日期如下:

     Date(1464670800000)

我知道我可以在服务器上格式化日期,但我不想这样做,因为页面不同部分的日期格式会发生变化,所以我想在客户端格式化日期。如何将服务器返回的日期对象转换为javascript格式的格式化字符串(例如mm/dd/yy)?谢谢

您可以手动操作:

函数格式化日期(时间戳){
var x=新日期(时间戳);
var dd=x.getDate();
变量mm=x.getMonth()+1;
var yy=x.getFullYear();
返回dd+“/”+mm+“/”+yy;
}

log(formattate(newdate())您可以手动执行此操作:

函数格式化日期(时间戳){
var x=新日期(时间戳);
var dd=x.getDate();
变量mm=x.getMonth()+1;
var yy=x.getFullYear();
返回dd+“/”+mm+“/”+yy;
}

log(formattate(newdate())我倾向于在这些上使用正则表达式来只获取数字

replace(/\D/g, ''))
只需将您的
日期(146467080000)
传递到
新日期
构造函数中,然后从那里开始使用它

console.log(
新日期(+“日期(146467080000)”。替换(/\D/g.))
)
//或者,例如,使用LocaleDate
console.log(
新日期(+“日期(146467080000)”。替换(/\D/g.)。toLocaleDateString()

)
我倾向于在这些问题上使用正则表达式来只获取数字

replace(/\D/g, ''))
只需将您的
日期(146467080000)
传递到
新日期
构造函数中,然后从那里开始使用它

console.log(
新日期(+“日期(146467080000)”。替换(/\D/g.))
)
//或者,例如,使用LocaleDate
console.log(
新日期(+“日期(146467080000)”。替换(/\D/g.)。toLocaleDateString()


)
JavaScript中没有内置的日期格式化功能。如果是一种简单的格式,您可以从日期对象中检索日期部分,并将其转换为字符串并将其拼合在一起。对于更复杂的格式,请使用像矩.js这样的库,它具有内置的格式字符串,与您从C#中了解的格式字符串更接近。@cory-我希望有人知道一个用javascript构建的很棒的日期库。现在我来看看。感谢向页面发送有效的ISO字符串以了解时区。幸运的是,对于此应用程序,我只有一个时区。无论如何,感谢您的警告JavaScript中没有内置的日期格式化功能。如果是一种简单的格式,您可以从日期对象中检索日期部分,并将其转换为字符串并将其拼合在一起。对于更复杂的格式,请使用像矩.js这样的库,它具有内置的格式字符串,与您从C#中了解的格式字符串更接近。@cory-我希望有人知道一个用javascript构建的很棒的日期库。现在我来看看。感谢向页面发送有效的ISO字符串以了解时区。幸运的是,对于此应用程序,我只有一个时区。无论如何,感谢您的警告。此方法适用于硬编码的“Date(14617120000)”,但当我这样做时:timestamp=“Date(146467080000)”;var d1=新日期(时间戳替换(/\D/g');我得到“无效日期”。您的解决方案正是我要寻找的,我只需要看看如何在不进行硬编码的情况下传递从服务器返回的值。@BoundForGlory-不要忘记
+
!:)这就是将字符串转换为int的原因,因此可以使用日期构造函数<代码>变量d1=新日期(+时间戳.替换(/\D/g'),看到+?我找到了…我去掉了“+”符号..这正是我要找的。非常感谢。此方法适用于硬编码的“Date(14617120000)”,但当我这样做时:timestamp=“Date(146467080000)”;var d1=新日期(时间戳替换(/\D/g');我得到“无效日期”。您的解决方案正是我要寻找的,我只需要看看如何在不进行硬编码的情况下传递从服务器返回的值。@BoundForGlory-不要忘记
+
!:)这就是将字符串转换为int的原因,因此可以使用日期构造函数<代码>变量d1=新日期(+时间戳.替换(/\D/g'),看到+?我找到了…我去掉了“+”符号..这正是我要找的。非常感谢。实际上,moment js有一个小的拼写错误:应该是
DD/MM/YY
,因为“MM”代表分钟,从这里的旁注可以看出,不再推荐使用moment。阅读文档以获得更好的信息()实际上是moment js的一个小错误:应该是
DD/MM/YY
,因为“MM”代表分钟,正如在这里可以看到的旁注,不再推荐使用moment。阅读文档以获得更好的信息()