c# - 将 C# 日期时间转换为 Javascript 日期

标签 c# javascript datetime-format

我在 Javascript 中有一个函数,它从 MVC 接收 C# DateTime。 如果日期为空,它应该返回“-”,如果它是一个有效的日期,它应该返回格式化的日期。

重要提示:无法从 C# 发送其他格式的日期。

Javascript:

function CheckDate(date) {

  if (date == "Mon Jan 01 0001 00:00:00 GMT+0000 (GMT Daylight Time)")
    return "-";
  else {
    var dat = new Date(date);
    return dat.getFullYear() + dat.getMonth() + dat.getDay();
  }

是否有更好的方法来比较日期是否为 C# New DateTime?

如何解析并返回“yyyy/MM/dd”格式的日期?

最佳答案

考虑到您遇到的输出,我想不出任何更好的方法来在 javascript 端捕获 0 的 DateTime

Date.parse 应该可以满足您的解析需求,但它会返回毫秒数,因此您需要在其周围包装一个 Date 构造函数:

var date = new Date(Date.parse(myCSharpString));

对于返回日期,您只需

date.getFullYear() + "/" + (date.getMonth() + 1) + "/" + (date.getDate() + 1);

(date.getMonthdate.getDate 是 0 索引而不是 1 索引。)

fiddle :http://jsfiddle.net/GyC3t/

编辑 感谢 JoeB 的捕获,让我做一个更正。 date.getMonth() 函数的索引为 0,而 date.getDate() 函数的索引为 1。 fiddle 与 +1 一起“工作”,因为 date.getMonth 在本地时间工作,这是在 UTC 之前。我没有正确检查文档,只是添加了 1,它与 fiddle 一起工作。

更合适的做法是:

对于返回日期,你只需要

date.getFullYear() + "/" + (date.getMonth() + 1) + "/" + (date.getUTCDate());

(date.getMonth 是 0 索引的,而 date.getDate 是 1 索引的,但容易受到时区差异的影响。)

fiddle :http://jsfiddle.net/GyC3t/25/

关于c# - 将 C# 日期时间转换为 Javascript 日期,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17950075/

相关文章:

c# - .NET 中的 "Conditional Operator (?:)"或 "if...else"哪个最好用?

c# - 这是什么类型的编码,我如何以编程方式生成它?

javascript - 在 CSS 中创建叠加层?

java - 我怎样才能在java中获得这个日期时间格式

r - 如何在大数据帧中快速转换不同的时间格式?

ios - 这是什么类型的日期格式?以及如何转换它?

c# - 反序列化结构数组

c# - 将 JSON 转换为 XML

javascript - 带有 OAuth 2.0 的新 JS SDK 在 fbsr_ cookie 中保存子域?

javascript - 连接 JQuery 变量