0

我正在使用 javascript 来格式化 C# dateTime 字段并将其显示为 dd-mon-yyyy 在网格中。但是当我将 C# datetime 传递给 javascript 变量时,它会根据我的系统时区进行转换。即,当我的机器处于印度标准时间时, 2012年 8 月 31 日星期五 06:59:14将转换为2012年 8 月 31 日星期五 11:29:14 GMT+0530(印度标准时间) 。如何避免?因为我使用的是 Telerik 网格,所以除了使用 javascript 之外我别无选择。

4

1 回答 1

1

如果您使用 c# 或其他任何东西,它不会做任何更改,因为您使用 javascript 进行转换,每个地方 javascript 都是相同的..

另一种解决方案是将 c# 日期和时间转换为字符串,并在 javascript 中将该日期字符串解析为日期,看看会发生什么。

检查以下代码以转换时区

// function to calculate local time
// in a different city
// given the city's UTC offset
function calcTime(city, offset) {

    // create Date object for current location
    // here you can pass your own date also
    d = new Date();

    // convert to msec
    // add local time zone offset 
    // get UTC time in msec
    utc = d.getTime() + (d.getTimezoneOffset() * 60000);

    // create new Date object for different city
    // using supplied offset
    nd = new Date(utc + (3600000*offset));

    // return time as a string
    return "The local time in " + city + " is " + nd.toLocaleString();

}

参考:http ://www.techrepublic.com/article/convert-the-local-time-to-another-time-zone-with-this-javascript/6016329

于 2012-11-19T07:36:02.180 回答