目前,我的一个sqlserver表中有一个datetime字段。
我查询(SELECT Column1, myDateField FROM MyTimeTable BETWEEN @startDate AND @endDate
)。
现在,我使用Entity框架在C#代码端获得了Column1, myDateField
。
然后我将这些日期作为json传递给客户端。现在,asp.net将日期转换为"\/Date(1410588000000)\/"
格式。 (即日期'19 -9-2014'到1410588000000
)。当我使用此刻度创建日期时(从1970年的javascript滴答),它将额外增加5.00小时(服务器时区为-5.00)。发生这种情况是因为在将datetime转换为"\/Date(xxxxxxxxx)\/"
格式时,.net认为数据库中的日期(即现在使用实体框架的c#datetime)是本地的(-5.00)。所以它创造了+5.00小时的刻度。我怎么能说服.net说时间是在utc?
答案 0 :(得分:1)
请将您的日期时间转换为任何固定的特定格式,然后在每个地方跟随 所以它会帮助你保持一致性。
写下面的查询
SELECT CONVERT(VARCHAR(30),GETDATE(),113) AS DateConvert;
格式将是“dd MMM yyyy hh:mm:ss:zzz” 这将发送准确的日期时间格式,这将很容易转换。 希望这会对你有所帮助。
现在我们可以使用DateTime.ParseExact将收到的字符串(Date)转换为DateTime
C#代码
String dateString = "01 Jun 2008 08:30:06:00";
CultureInfo provider = CultureInfo.InvariantCulture;
String format = "dd MMM yyyy hh:mm:ss:zzz";
try {
DateTime result = DateTime.ParseExact(dateString, format, provider);
}
由于
答案 1 :(得分:0)
Var date = new Date();
现在日期具有客户端时间的值。
alert(new Date());