当前位置:  开发笔记 > 编程语言 > 正文

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

如何解决《将javascript日期发送到vb.net日期变量》经验,为你挑选了1个好方法。

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

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

麻烦的是Javascript dateformats

toString() - Sat Apr 4 22:19:00 UTC + 0530 2009

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

toLocaleString() - 2009年4月4日星期六,下午10:19:00

与vb日期格式不匹配.我得到的错误是它的无法解析.

在此先感谢您的帮助



1> AnthonyWJone..:

使用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并将其添加到DateTime,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;

推荐阅读
Chloemw
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有