将c#日期转换为Javascript

将c#日期转换为Javascript,javascript,datetime,highcharts,Javascript,Datetime,Highcharts,这就是我如何将.NETDateTime转换为Javascript的方法。我在很久以前的某个地方找到了这段代码,并将其用于Highcharts。现在,图表有时看起来很奇怪,线条混乱。我怀疑这和日期有关 Datetime curDate = "11/14/2013"; string jsDate = "Date.UTC(" + curDate.Year + "," + (curDate.Month - 1) + "," + curDate.Day; if (curDate.Milliseco

这就是我如何将.NETDateTime转换为Javascript的方法。我在很久以前的某个地方找到了这段代码,并将其用于Highcharts。现在,图表有时看起来很奇怪,线条混乱。我怀疑这和日期有关

Datetime curDate = "11/14/2013";
string jsDate = "Date.UTC(" + curDate.Year + "," + (curDate.Month - 1) + "," +     curDate.Day;
if (curDate.Millisecond > 0)
        {
            jsDate += "," + curDate.Hour + "," + curDate.Minute + "," + curDate.Second + "," + curDate.Millisecond;
            return jsDate += ")";
        }
        if (curDate.Second > 0)
        {
            jsDate += "," + curDate.Hour + "," + curDate.Minute + "," + curDate.Second;
            return jsDate += ")";
        }
        if (curDate.Minute > 0)
        {
            jsDate += "," + curDate.Hour + "," + curDate.Minute;
            return jsDate += ")";
        }
        if (curDate.Hour > 0)
        {
            jsDate += "," + curDate.Hour;
            return jsDate += ")";
        }

        jsDate += ")";
这是将.Net日期转换为javascript的正确方法吗


谢谢大家!

在两者之间转换的最简单方法是将.NET时间从UNIX历元时间转换为以毫秒为单位的时间跨度:

public static long ToEpochDate(this DateTime dt)
{
    var epoch = new DateTime(1970, 1, 1);
    return dt.Subtract(epoch).Ticks;
}
然后,您可以使用它生成JS字符串:

DateTime current = DateTime.Now;
var jsDate = string.Format("Date.UTC({0})", current.ToEpochDate());

在两者之间转换的最简单方法是将.NET时间从UNIX历元时间转换为以毫秒为单位的时间跨度:

public static long ToEpochDate(this DateTime dt)
{
    var epoch = new DateTime(1970, 1, 1);
    return dt.Subtract(epoch).Ticks;
}
然后,您可以使用它生成JS字符串:

DateTime current = DateTime.Now;
var jsDate = string.Format("Date.UTC({0})", current.ToEpochDate());

在两者之间转换的最简单方法是将.NET时间从UNIX历元时间转换为以毫秒为单位的时间跨度:

public static long ToEpochDate(this DateTime dt)
{
    var epoch = new DateTime(1970, 1, 1);
    return dt.Subtract(epoch).Ticks;
}
然后,您可以使用它生成JS字符串:

DateTime current = DateTime.Now;
var jsDate = string.Format("Date.UTC({0})", current.ToEpochDate());

在两者之间转换的最简单方法是将.NET时间从UNIX历元时间转换为以毫秒为单位的时间跨度:

public static long ToEpochDate(this DateTime dt)
{
    var epoch = new DateTime(1970, 1, 1);
    return dt.Subtract(epoch).Ticks;
}
然后,您可以使用它生成JS字符串:

DateTime current = DateTime.Now;
var jsDate = string.Format("Date.UTC({0})", current.ToEpochDate());

非常感谢。我知道我为这么简单的事情得到了这么多的代码,但它一直在工作(直到现在,偶尔,行被弄乱),所以我犹豫是否要更改。但是按照我的方式做,我相信不会转换天数(当一个月有31天,但转换回前一个月没有“31天”)。无论如何,谢谢你!它转换为JS日期,但不适用于HighCharts,但这不是问题所在。我的问题是如何将.Net日期转换为JavaScript。@LacHo-请记住,如果您生成的唯一JS是在对
string.Format
的调用中,那么您仍然需要将其包装在对new-
new date(date.UTC({0}))的调用中谢谢!我知道我为这么简单的事情得到了这么多的代码,但它一直在工作(直到现在,偶尔,行被弄乱),所以我犹豫是否要更改。但是按照我的方式做,我相信不会转换天数(当一个月有31天,但转换回前一个月没有“31天”)。无论如何,谢谢你!它转换为JS日期,但不适用于HighCharts,但这不是问题所在。我的问题是如何将.Net日期转换为JavaScript。@LacHo-请记住,如果您生成的唯一JS是在对
string.Format
的调用中,那么您仍然需要将其包装在对new-
new date(date.UTC({0}))的调用中谢谢!我知道我为这么简单的事情得到了这么多的代码,但它一直在工作(直到现在,偶尔,行被弄乱),所以我犹豫是否要更改。但是按照我的方式做,我相信不会转换天数(当一个月有31天,但转换回前一个月没有“31天”)。无论如何,谢谢你!它转换为JS日期,但不适用于HighCharts,但这不是问题所在。我的问题是如何将.Net日期转换为JavaScript。@LacHo-请记住,如果您生成的唯一JS是在对
string.Format
的调用中,那么您仍然需要将其包装在对new-
new date(date.UTC({0}))的调用中谢谢!我知道我为这么简单的事情得到了这么多的代码,但它一直在工作(直到现在,偶尔,行被弄乱),所以我犹豫是否要更改。但是按照我的方式做,我相信不会转换天数(当一个月有31天,但转换回前一个月没有“31天”)。无论如何,谢谢你!它转换为JS日期,但不适用于HighCharts,但这不是问题所在。我的问题是如何将.Net日期转换为JavaScript。@LacHo-请记住,如果您生成的唯一JS是在对
string.Format
的调用中,那么您仍然需要将其包装在对new-
new date(date.UTC({0}))的调用中