Dan*_*fer 20 .net url datetime
查看DateTimeFormatInfo文档,看起来所有标准格式都包含冒号,这使得它们在网址上传递不愉快/不可能.
是否有一种标准化格式用于在URL上传递日期时间,最好是可以由.NET自动解析的格式?
更新:稍微澄清一下
这些数据的使用者将是某种类型的Web服务 - 它可以是在查询字符串中具有此值的简单HTTP GET,也可以是具有url中某个值的REST的REST.
ISO 8601管理日期/时间格式,根据维基文章,使用ToString("yyyyMMddTHHmmssZ")至少应符合标准.不幸的是,它没有被ASP.NET MVC自动拾取(还没有尝试过其他任何东西).对于它的价值,ASP.NET MVC也不会自动将刻度转换为日期时间,这让我感到惊讶.
我会将所有内容整合到一个答案中:
你可以这样做:
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();
Run Code Online (Sandbox Code Playgroud)
或者你可以这样做:
string urlSafeDateString = date.ToUniversalTime().ToString("yyyyMMddTHHmmss", System.Globalization.CultureInfo.InvariantCulture);
DateTime date = DateTime.ParseExact(urlSafeDateString, "yyyyMMddTHHmmss", System.Globalization.CultureInfo.InvariantCulture).ToLocalTime();
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
18359 次 |
| 最近记录: |