首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >是否有可在URL上传递的标准日期/时间格式?

是否有可在URL上传递的标准日期/时间格式?
EN

Stack Overflow用户
提问于 2010-02-26 21:36:48
回答 8查看 27.8K关注 0票数 22

DateTimeFormatInfo文档来看,所有标准格式中似乎都有冒号,这使得在url上传递它们变得不愉快/不可能。

是否有在url上传递日期时间的标准化格式,最好是可以由.NET自动解析的格式?

更新:--一点澄清

这些数据的使用者将是某种类型的web服务--它要么是一个简单的HTTP,该值位于querystring中,要么将与url中的值放在某个位置。

ISO 8601规范日期/时间格式,并且根据wiki文章,使用ToString("yyyyMMddTHHmmssZ")至少应该符合标准。不幸的是,它并没有被ASP.NET MVC自动获取(还没有尝试其他任何东西)。不管它的价值是什么,ASP.NET MVC也不会自动将滴答转换成日期时间,这让我感到惊讶。

EN

回答 8

Stack Overflow用户

回答已采纳

发布于 2010-02-26 22:06:11

我会把所有的东西放在一起,形成一个答案:

你可以这样做:

代码语言:javascript
复制
        string urlSafeDateString = HttpServerUtility.UrlTokenEncode(date.ToUniversalTime().ToString(System.Globalization.CultureInfo.InvariantCulture).ToCharArray());

        DateTime date = DateTime.Parse(new string(HttpServerUtility.UrlTokenDecode(urlSafeDateString)), System.Globalization.CultureInfo.InvariantCulture).ToLocalTime();

或者你可以这样做:

代码语言:javascript
复制
        string urlSafeDateString = date.ToUniversalTime().ToString("yyyyMMddTHHmmss", System.Globalization.CultureInfo.InvariantCulture);

        DateTime date = DateTime.ParseExact(urlSafeDateString, "yyyyMMddTHHmmss", System.Globalization.CultureInfo.InvariantCulture).ToLocalTime();
票数 10
EN

Stack Overflow用户

发布于 2010-02-26 21:54:11

是。ISO 8601

8601

只要确保你URLEncode它来处理结肠。

票数 4
EN

Stack Overflow用户

发布于 2010-02-26 21:40:01

它可能不是任何标准的一部分或类似的东西,但是您可以始终使用Unix时间戳,因为它们只包含数字。有关将其转换为.NET DateTime的方法,请参阅.NET。

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/2344987

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档