从DateTimeFormatInfo文档来看,所有标准格式中似乎都有冒号,这使得在url上传递它们变得不愉快/不可能。
是否有在url上传递日期时间的标准化格式,最好是可以由.NET自动解析的格式?
更新:--一点澄清
这些数据的使用者将是某种类型的web服务--它要么是一个简单的HTTP,该值位于querystring中,要么将与url中的值放在某个位置。
ISO 8601规范日期/时间格式,并且根据wiki文章,使用ToString("yyyyMMddTHHmmssZ")至少应该符合标准。不幸的是,它并没有被ASP.NET MVC自动获取(还没有尝试其他任何东西)。不管它的价值是什么,ASP.NET MVC也不会自动将滴答转换成日期时间,这让我感到惊讶。
发布于 2010-02-26 22:06:11
我会把所有的东西放在一起,形成一个答案:
你可以这样做:
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();或者你可以这样做:
string urlSafeDateString = date.ToUniversalTime().ToString("yyyyMMddTHHmmss", System.Globalization.CultureInfo.InvariantCulture);
DateTime date = DateTime.ParseExact(urlSafeDateString, "yyyyMMddTHHmmss", System.Globalization.CultureInfo.InvariantCulture).ToLocalTime();发布于 2010-02-26 21:54:11
是。ISO 8601
8601
只要确保你URLEncode它来处理结肠。
发布于 2010-02-26 21:40:01
它可能不是任何标准的一部分或类似的东西,但是您可以始终使用Unix时间戳,因为它们只包含数字。有关将其转换为.NET DateTime的方法,请参阅.NET。
https://stackoverflow.com/questions/2344987
复制相似问题