gpt4 book ai didi

javascript - 将 javascript 日期发送到 vb.net 日期变量

转载 作者:塔克拉玛干 更新时间:2023-11-02 22:38:42 24 4
gpt4 key购买 nike

我需要将 javascript 日期值传递给 vb.net 函数。

我现在使用的方法:将javascript日期转换为字符串将其存储在隐藏字段中从服务器代码中的隐藏字段中检索字符串并使用 date.parse 对其进行解析

问题在于 Javascript 日期格式

toString() - 2009 年 4 月 4 日星期六 22:19:00 UTC+0530

toDateString() - 2009 年 4 月 4 日星期六

toLocaleString() - 2009 年 4 月 4 日星期六晚上 10:19:00

不匹配 vb 日期格式。我收到无法解析的错误。

在此先感谢您的帮助

最佳答案

使用 ToLocaleString 的问题在于您会丢失时区信息及其明显的区域设置,这意味着您需要使用正确的文化来解析它。

我在想:-

<罢工> DateTime d = DateTime.ParseExact(sInput, "ddd MMM d HH:mm:ss UTCzzzz yyyy", CultureInfo.InvariantCulture);

但这不是跨浏览器兼容的(ECMA 规范没有定义 toString 实际应该做什么)。

但是我们确实知道 Javascript Date 对象的值是从 1970 年 1 月 1 日午夜算起的毫秒数。因此,您可以将日期对象的 .valueOf 存储在隐藏字段中。首先对字符串使用 Int32.Parse,从该值创建一个 TimeSpan,并将其添加到日期时间 Jan 1, 1970 00:00:00 UTC+0000。

int milliseconds = Int32.Parse(inputString);
TimeSpan t = TimeSpan.FromMilliseconds(milliseconds);
DateTime base = new DateTime(1970, 1, 1, 0, 0, 0, DateTimeKind.Utc);
DateTime result = base + t;

关于javascript - 将 javascript 日期发送到 vb.net 日期变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/717364/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com