检查字符串是否采用特定日期格式

2024-02-11

您好,我收到一个带有日期格式的字符串年-月-日,但我想将它与格式进行比较日-月-年万一它不一样,肯定不一样,我想转换它,对我来说问题不是转换,而是比较两种格式...... 所以我想也许是这样的

var dt = obj.date; //this a string

if (dt.formatDateorsomethingIguess == "dd/MM/yyyy") //this is the part I'm asking for
{
     usedt(dt);
} 
else 
{
    DateTime dt_format = DateTime.ParseExact(dt.Trim(), "dd-MM-yyyy",
    System.Globalization.CultureInfo.InvariantCulture);
    usedt(dt_format);
}

您可以通过几次调用来解决此问题尝试精确解析 https://msdn.microsoft.com/en-us/library/ms131044(v=vs.110).aspx:

public static DateTime ParseDate(string input)
{
    DateTime result;

    if (DateTime.TryParseExact(input, "yyyy-MM-dd", CultureInfo.CurrentCulture, DateTimeStyles.None, out result)) return result;
    if (DateTime.TryParseExact(input, "dd-MM-yyyy", CultureInfo.CurrentCulture, DateTimeStyles.None, out result)) return result;

    throw new FormatException();
}

快速测试一下:

public static void Main()
{
    string[] tests = new string[] { "2018-06-29", "29-06-2018","Invalid" };

    foreach (var t in tests)
    {
        var result = ParseDate(t);
        Console.WriteLine( "Year: {0}  Month: {1}  Day: {2}", result.Year, result.Month, result.Day );
    }
}

Output:

Year: 2018  Month: 6  Day: 29
Year: 2018  Month: 6  Day: 29
Run-time exception (line 18): One of the identified items was in an invalid format.

DotNetFiddle 上的示例代码 https://dotnetfiddle.net/xrfJil

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

检查字符串是否采用特定日期格式 的相关文章

随机推荐

  • 了解 dFdX 和 dFdY 的基础知识

    我读过很多关于行为的描述dFdX n and dFdY n 并且相信我仍然能够掌握学校的偏导数 我不明白的是 在最简单的示例中 n 来自哪里 读取glsl内置函数dFdx n and dFdy n 除了数学之外 没有任何背景 我会将它们解释
  • 向下滚动时 RecyclerView 项目的值会重置

    这是我想要做的场景 我正在创建一个 RecyclerView 它可以添加或删除一个或多个具有 EditText 的子项目 片段 视图 但是 这是我的问题 每当我在 RecyclerView 中向下滚动时 其项目的值就会重置 我认为这里的问题
  • 如何在 PyQT5 中为 QPlainTextEdit(或任何其他组件)实现关键侦听器

    虽然我意识到其他人也问过类似的问题 但我有限的知识似乎导致了这个难题的缺失 我将在下面进一步解释为什么这个问题之前没有得到回答 这是我正在使用的代码 由 QT 创建者生成 from PyQt5 import QtCore QtGui QtW
  • Grafana - 将仪表板导入为 docker-compose 的一部分

    在为 Grafana 构建 docker 镜像时是否可以导入仪表板 My docker compose yml目前看起来像这样 docker compose yml version 3 services grafana image graf
  • 将某个范围的可见单元格添加到数组中

    我正在尝试将范围内可见单元格的值获取到数组中 我的代码使数组携带值 直到第一个不可见单元格停止 Public Function ListeMaschinen As Variant Dim Auswahl As Range With Shee
  • 同位素 - 过滤图像 - 如何仅在 lightbox(或 Shadowbox JS)中显示可见(过滤)图像

    我正在建立一个 WordPress 网站 我正在实现同位素用于图像布局和过滤 同位素变性 http isotope metafizzy co 我已经配置了同位素 以便图像被布局并可过滤 这一切都工作正常 我正在使用 NextGen Gall
  • 特征分解让我对 numpy 感到好奇

    我测试了 A Q Lambda Q inverse 定理 其中 Q 是具有特征向量的矩阵 Lambda 是对角线上具有特征值的对角矩阵 我的代码如下 import numpy as np from numpy import linalg a
  • TypeScript 类型化函数参数接受任何

    这是一个编译得很好的 TypeScript 片段 使用 1 5 3 function alertNumber a number alert a 1 var x any string alertNumber x 请求某种类型参数的函数怎么可能
  • 在“Component”装饰器中动态加载 Angular 模板

    我想像这样动态加载角度模板 import getHTMLTemplate from util const dynamicTemplate getHTMLTemplate Component selector app button templ
  • 定义接受可变数量参数的宏生成的宏

    我正在尝试编写一个宏生成宏 其中它生成的宏采用可变数量的参数 我想知道是否有办法使以下代码工作 define syntax rule greet name define syntax rule name args printf hello
  • 如何在Python中定义保存1000位数字的小数类?

    我需要一个包含 1000 位十进制数字的类来计算一系列数据 例如 pi 数 花时间并不重要 我该如何定义 add 执行此操作的函数 例如我需要一个可以保存这个数字的值 3 1415926535897932384626433832795028
  • 客户端(android 应用程序)确认发送的 gcm 消息

    Android 应用程序可以通过 googleclougmessaging send 向 ccs 服务器获取发送的 gcm 消息的确认吗 客户端如何确定消息是否已传送到 ccs 服务器 根据云连接服务器文档 从设备向云发送消息时唯一的确认是
  • 传递类的私有方法作为 std::sort 的比较运算符

    我正在编写代码来解决以下问题 给定一组数字x 0 x 1 x N 1 找到使它们按升序排序的排列 换句话说 我想找到 0 2 N 1 上的排列 例如i 0 i 1 i N 1 这样x i 0 lt x i 1 lt lt x i N 1 为
  • 带标点符号的实时语音识别

    使用自动标点符号实现语音识别 语音到文本 的方法是什么 我想用它来将讲座 45 分钟的演讲 转换为文本 并在可能的情况下动态更新视图 我尝试了 SpeechRecognizer 但它只给我没有标点符号的单词 并且在第一个单词后停止收听 您可
  • 隐藏仅在 Windows 上显示的无用滚动条

    我的导航栏中有一个引导下拉列表 显示通知列表 这是非常标准的代码 除了我设置的max height 300px and overflow y scroll on the ul元素 在 Mac 上的 Chrome 或 Firefox 中查看时
  • Django 多对多 (m2m) 与同一模型的关系

    我想在用户类对象之间创建多对多关系 我有这样的事情 class MyUser models Model blocked users models ManyToManyField MyUser blank True null True 问题是
  • 为什么 mysql 和 sqlite 的 SELECT 结果不同?

    我再问这个question https stackoverflow com questions 10161153 sqlite exists keyword how to query the highest average以简化和扩展的方式
  • 如何更改 Android 中 Exoplayer 中的音轨

    我有一些带有两个音轨的视频 我想在视频播放期间将音轨更改为另一种语言 我已经尝试了一切但仍然没有成功 这是我的代码 我正在使用 firebase 存储来存储视频 我到处搜索但找不到解决方案 我的代码正在运行 仍然没有出现任何错误 但我不可能
  • 如何检查是否设置了闹钟

    我正在尝试检查我的闹钟是否处于活动状态 在设置闹钟之前 alarmIsSet 方法将返回 false 设置闹钟时返回 true 到目前为止一切顺利 但是 在我取消闹钟后 alarmIsSet 将继续返回 true 直到我重新启动设备 我该如
  • 检查字符串是否采用特定日期格式

    您好 我收到一个带有日期格式的字符串年 月 日 但我想将它与格式进行比较日 月 年万一它不一样 肯定不一样 我想转换它 对我来说问题不是转换 而是比较两种格式 所以我想也许是这样的 var dt obj date this a string