解析 ISO 8601 值 24:00:00 的日期失败

2024-03-15

我正在尝试解析来自数据源的传入日期(无法更改)。它给了我 ISO 8601 格式示例的时间:2007-04-05T24:00.

然而在 .Net 中它无法将其解析为有效时间。

维基百科指出它应该是有效的格式。维基百科 ISO 8601 http://en.wikipedia.org/wiki/ISO_8601

示例来自https://stackoverflow.com/a/3556188/645410 https://stackoverflow.com/a/3556188/645410

我怎样才能做到这一点而不需要令人讨厌的字符串检查黑客?

示例(小提琴:http://dotnetfiddle.net/oB7EZx http://dotnetfiddle.net/oB7EZx):

var strDate = "2007-04-05T24:00";       
Console.WriteLine(DateTime.Parse(strDate, null, DateTimeStyles.RoundtripKind));

Throws:

日历中不支持字符串表示的日期时间 System.Globalization.GregorianCalendar。


是的,据我所知,.NET 不支持这一点。

My 野田时间 http://nodatime.org项目做到了,但只是部分:它可以parse该值,但该值只是解析到第二天开始时的午夜,并且是never格式为 24:00。野田时间概念模型中没有任何东西可以代表“一天的结束”。

示例代码展示了可能性:

using System;
using NodaTime;
using NodaTime.Text;

class Test
{
    static void Main()
    {
        string text = "2007-04-05T24:00";
        var pattern = LocalDateTimePattern.CreateWithInvariantCulture
             ("yyyy-MM-dd'T'HH:mm");
        var dateTime = pattern.Parse(text).Value;
        Console.WriteLine(pattern.Format(dateTime)); // 2007-04-06T00:00
    }
}

如果您不介意丢失“2007-04-05T24:00”和“2007-04-05T00:00”输入之间的差异,那么您可能没问题。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

解析 ISO 8601 值 24:00:00 的日期失败 的相关文章

  • 将集合绑定到自定义控件属性

    我没有运气尝试将数据集合绑定到我的自定义控件的属性 我已经实现了该控件的字符串属性的机制 在此处提供了一些帮助 并期望集合类型同样简单 但是我无法让它再次工作 这是我的自定义控件视图
  • 如何保证对象只有一个线程

    我有以下代码 class Service public void start creates thread which creates window and goes to message loop void stop sends WM C
  • FileStream 构造函数和默认缓冲区大小

    我们有一个使用 NET 4 用 C 编写的日志记录类 我想添加一个构造函数参数 该参数可以选择设置文件选项 WriteThrough http msdn microsoft com en us library system io fileo
  • 在 Xamarin 中隐藏软键盘

    如何隐藏软键盘以便在聚焦时显示Entry在 Xamarin forms 便携式表单项目中 我假设我们必须为此编写特定于平台的渲染器 但以下内容不起作用 我创建自己的条目子类 public class MyExtendedEntry Entr
  • 类特定的新删除运算符是否必须声明为静态

    标准中是否要求类特定的 new new delete 和 delete 是静态的 我可以让它们成为非静态成员运算符吗 为什么需要它们是静态的 它们被隐式声明为静态 即使您没有键入 static
  • 如何在 SqlDataReader.Read() 期间从死锁异常中恢复

    我的 NET 应用程序的事件日志显示 它在从 Sql Server 读取数据时偶尔会出现死锁 这种情况通常非常罕见 因为我们已经优化了查询以避免死锁 但有时仍然会发生 过去 我们在调用ExecuteReader函数在我们的SqlComman
  • 指向特征矩阵的指针数组

    我在代码中使用 Eigen 的 MatrixXd 矩阵 在某个时刻我需要一个 3D 矩阵 由于 Eigen 没有三维矩阵类型 因为它仅针对线性代数进行了优化 因此我创建了一个 MatrixXd 类型的指针数组 Eigen MatrixXd
  • ASP.Net Core 内容配置附件/内联

    我正在从 WebAPI 控制器返回一个文件 Content Disposition 标头值自动设置为 附件 例如 处置 附件 文件名 30956 pdf 文件名 UTF 8 30956 pdf 当它设置为附件时 浏览器将要求保存文件而不是打
  • 动态生成的控件 ID 返回为 NULL

    我可以在 Page PreInit 函数中创建动态控件 如何检索控件及其 ID 我的 C 代码用于创建动态控件之一 var btn new WebForms Button btn Text btn ID Addmore btn Click
  • 单例模式和 std::unique_ptr

    std unique ptr唯一地控制它指向的对象 因此不使用引用计数 单例确保利用引用计数只能创建一个对象 那么会std unique ptr与单例执行相同 单例确保只有一个实例属于一种类型 A unique ptr确保只有一个智能指针到
  • 在 JSQMessagesViewController 中显示 LocationMediaItem

    我刚刚尝试实施LocationMediaItem in my Xamarin iOS应用程序使用JSQMessagesViewController 一切都很顺利 唯一的问题是UICollectionView应该显示位置的单元格永远停留在加载
  • std::forward_as_tuple 将参数传递给 2 个构造函数

    我想传递多个参数以便在函数内构造两个对象 以同样的方式std pair
  • 如何在服务器端按钮点击时关闭当前标签页?

    我尝试在确认后关闭当前选项卡 因此我将以下代码放在确认按钮的末尾 但选项卡没有关闭 string jScript ClientScript RegisterClientScriptBlock this GetType keyClientBl
  • C++ php 和静态库

    我创建了一个library a 其中包含 cpp 和 h 文件 其中包含很多类 嵌套类和方法 我想在 php 示例中包含这个静态库并尝试使用它 我想提一下 我是 php 新手 我已经在 test cpp 文件中测试了我的 libray a
  • 给出 5 个参数,但在终端中只得到 3 个参数

    我想将一个文件传递给一个c 程序 如果我在 IDE 中执行此操作 test string string lt test txt return argc 5 但在终端上我刚刚得到argc 3 看来 这是因为 什么是 lt 意思是 我正在使用
  • AES 输出是否小于输入?

    我想加密一个字符串并将其嵌入到 URL 中 因此我想确保加密的输出不大于输入 AES 是可行的方法吗 不可能创建任何始终会创建比输入更小的输出的算法 但可以将任何输出反转回输入 如果您允许 不大于输入 那么基本上您只是在谈论同构算法alwa
  • 如何分析组合的 python 和 c 代码

    我有一个由多个 python 脚本组成的应用程序 其中一些脚本正在调用 C 代码 该应用程序现在的运行速度比以前慢得多 因此我想对其进行分析以查看问题所在 是否有工具 软件包或只是一种分析此类应用程序的方法 有一个工具可以将 python
  • 新任务中使用的依赖注入服务

    我在需要时使用依赖项注入来访问我的服务 但我现在想要创建一个并发任务 但这会由于依赖项注入对象及其生命周期而导致问题 我读过这篇文章 标题 防止多线程 Link http mehdi me ambient dbcontext in ef6
  • 在简单注入器中解析具有自定义参数的类

    我正在使用以下命令创建 WPF MVVM 应用程序简易注射器作为 DI 容器 现在 当我尝试从简单注入器解析视图时遇到一些问题 因为我需要在构造时将参数传递到构造函数中 而不是在将视图注册到容器时 因此这不是适用的 简单注入器将值传递到构造
  • C++0x中disable_if在哪里?

    Boost 两者都有enable if and disable if 但 C 0x 似乎缺少后者 为什么它被排除在外 C 0x 中是否有元编程工具允许我构建disable if按照enable if 哦 我刚刚注意到std enable i

随机推荐

  • 指定输出程序集中 .csdl / .ssdl / .msl 元数据文件的位置

    我有一个 EF 项目 其中包含我已成功使用的数据模型 元数据工件处理 选项设置为 嵌入输出程序集中 由于 edmx 文件位于项目的根文件夹中 EntityConnectionStringBuilder 中使用的元数据字符串设置为 res m
  • 为什么 ::before 伪元素不能与 :visited 伪类一起使用?

    我正在尝试使用伪类和伪元素来设计我的元素 喜欢hover before工作正常但是 visited before不管用 如果链接被访问 我想显示 已看到 但是 visited before不工作 before after box sizin
  • SASS 项目中从右到左 (RTL) 支持

    我想知道是否可以制作一个 mixin 来处理多个参数作为应转换为 rtl 的属性 我想做类似的事情 css selector width 300px height 200px include rtl padding 10px 5px 3px
  • 找不到 Pyspark 模块

    我正在尝试在 Yarn 中执行一个简单的 Pyspark 作业 这是代码 from pyspark import SparkConf SparkContext conf SparkConf setMaster yarn client set
  • Bootstrap 弹出框在 AngularJs ng-repeat 中不起作用

    我有一个国家 地区列表 我正在使用 ng repeat 填充这些国家 地区列表 一切正常 另外 我试图通过使用引导弹出窗口来显示每个国家 地区内的一些其他详细信息 但它似乎不起作用 所以有人可以帮助我吗 网页代码 div class spa
  • PHP 和 mySQL:什么时候使用 htmlentities?

    平台 PHP 和 MySQL 出于实验目的 我自己在自己的网站上尝试了一些 XSS 注入 考虑这种情况 我有表单文本区域输入 由于这是一个文本区域 我可以输入文本和各种 英语 字符 以下是我的观察 A 如果我在将数据插入数据库之前仅应用 s
  • 如何检查 uint8_t 是否作为类型存在,而不是 unsigned char?

    我有两个编译器 一种可以识别 uint8 t GCC ARM EABI 另一种则不能 Renesas M16 标准工具链 Renesas 工具链不兼容 ANSI C 因此您可以丢弃 因此 uint8 t uint16 t 未定义为现有类型
  • 如何搜索 git 存储库历史记录以查找合并错误?

    在我们过去的某个时刻 git 的开发分支被合并了 然而 做出了错误的合并决定 因此一些代码没有进入我们预期的主分支 在最终合并到主分支之前 不同分支进行了多次合并 因此分支和合并历史相当复杂 有没有一种简单的方法来搜索 git 存储库以确定
  • 在 R 中创建默认评论标题模板?

    是否可以在 R 中为所有新脚本创建默认注释标题模板 我通常在所有脚本的顶部包含一些标准信息 并希望自动执行创建评论标题的过程 例如 Project Script purpose Date Author 按照上面 lmo 的建议 我通过编辑位
  • Pandas 滚动窗口 - datetime64[ns] 未实现

    我正在尝试使用 Python Pandas 构建一些图表 我有每秒采样的数据 这是一个示例 Index Time Value 31362 1975 05 07 07 59 18 36 151612 31363 1975 05 07 07 5
  • WEBHDFS REST API 将文件从 Windows 服务器/本地文件夹/桌面复制/移动到 HDFS

    使用 WEBHDFS REST API 调用 我可以将文件从 Windows 计算机 即 Windows 服务器或 Windows 本地文件夹或桌面 传输或复制到 Hadoop HDFS 文件系统吗 如果是 有任何示例命令信息吗 我已经尝试
  • 分解量子态

    我正在寻找采用由位组成的加权经典状态之和组成的任意量子态的算法 如下所示 0000 gt 2 0011 gt 2 0100 gt 2 0111 gt 2 并使用张量积将其分解为更紧凑的形式 如下所示 0 gt x 0 gt 1 gt x 0
  • 循环或重复一组任务直到成功

    我目前有一个包含任务文件的剧本 在该任务文件中 我想检查一个条件 如果该条件的退出代码不等于 0 则应重复任务文件中的所有步骤 我已经尝试了块和循环的一些变体 但我还没有找到一种方法来使它执行我上面描述的操作 目前我有这样的事情 tasks
  • eax如何存储大小大于4字节的返回值?

    EAX在32位平台上用于存储函数的返回值 我想知道如果函数的返回值的大小大于4个字节 eax如何处理 在这种情况下 操作系统可以将返回值保存在堆栈上 并将堆栈地址存储在EAX中 但是操作系统如何判断EAX中存储的值是返回值的地址还是实际上是
  • 单括号和双括号 Numpy 数组的区别?

    这两个 numpy 对象有什么区别 import numpy as np np array 0 0 0 0 np array 0 0 0 0 In 71 np array 0 0 0 0 shape Out 71 1 4 In 72 np
  • 在 [FINE UPLOADER] 中显示以前上传的图像

    我正在使用精细的上传器插件来上传图像 图片上传工作正常 我想做的是 当图像上传后刷新页面时 精细上传器应该显示以前上传的图像 这是我的代码 accordion on shown bs collapse function activeShop
  • 如何在 Laravel Eloquent 中使用带有子查询的内连接

    注意 这是 laravel 5 3 基本上 当用户选择阿拉伯语翻译时 我正在运行查询 完整的 sql 如下所示 select s ref t text as ref ar FROM stores AS s INNER JOIN SELECT
  • 在 SharePoint 2013 中以编程方式创建文件夹

    目前我有在中创建文件夹的代码Documents运行时目录 using var context new Microsoft SharePoint Client ClientContext sharePointSite context Cred
  • 方案中的河内塔(递归)

    今天在scheme中写了如下代码 但是求值错误 请不要告诉我我编程很糟糕 我知道这是一个经典的递归问题 但我遇到了麻烦 define towers of hanoi n source temp dest if n 1 begin displ
  • 解析 ISO 8601 值 24:00:00 的日期失败

    我正在尝试解析来自数据源的传入日期 无法更改 它给了我 ISO 8601 格式示例的时间 2007 04 05T24 00 然而在 Net 中它无法将其解析为有效时间 维基百科指出它应该是有效的格式 维基百科 ISO 8601 http e