我想获取客户端时区,因此我使用下面的代码
function filltime()
{
document.getElementById("hdnTime").value = new Date();
}
转化
Dim time As Date = DateTime.ParseExact(hdnTime.Value,
"ddd MMM d HH:mm:ss UTCzzzzz yyyy",InvariantCulture)
我没有得到确切的值。它仅显示服务器时间。 但 hdnTime.Value 包含正确的值(“Mon Feb 18 14:46:49 UTC+0530 2013”)。我认为问题出在转换上。
有什么问题吗?怎么解决?
最佳答案
日期和时间对于 1 种语言来说是一种痛苦,更不用说在 2 种语言之间传递值时了。
我建议在将 JavaScript Date()
对象发送回服务器之前将其序列化为 JSON。然后使用 JSON.NET 等库将其反序列化为 C# DateTime
对象。 。关于序列化和反序列化时可以应用哪些设置,有全面的文档 ( Serializing Dates in JSON )。
JavaScript
function filltime()
{
document.getElementById("hdnTime").value = JSON.stringify(new Date());
}
JSON并不是每个浏览器都原生的,所以你的意思是需要手动加载它,更多信息可以引用:Browser-native JSON support (window.JSON)
C# 使用 JSON.NET
DateTime dateTime = JsonConvert.DeserializeObject<DateTime>(hdnTime.Value);
关于c# - 将 javascript 日期时间转换为 C#/VB.NET 日期时间,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14932928/