gpt4 book ai didi

C# DateTime.TryParseExact 带可选参数

转载 作者:行者123 更新时间:2023-12-03 17:37:56 28 4
gpt4 key购买 nike

下面的代码工作正常,只是想知道是否有更优雅的方式来实现同样的事情?下面的日期应该是有效的,除此之外的任何其他日期都不应该:

  • 1/12/2017
  • 1/12/2017 11:10
  • 1/12/2017 11:10:30
  • 15/5/2017
  • 15/5/2017 11:10
  • 15/5/2017 11:10:30
  • 1/5/2017
  • 1/5/2017 11:10
  • 1/5/2017 11:10:30
  • 25/12/2017
  • 25/12/2017 11:10
  • 25/12/2017 11:10:30

  • 换句话说:它应该使用 1 位和 2 位数字天/月,并且它应该可以使用和不使用时间,包括或不包括秒。
    var validDateTimeFormats = new[]
    {
    "d/MM/yyyy",
    "d/MM/yyyy HH:mm",
    "d/MM/yyyy HH:mm:ss",
    "dd/M/yyyy",
    "dd/M/yyyy HH:mm",
    "dd/M/yyyy HH:mm:ss",
    "d/M/yyyy",
    "d/M/yyyy HH:mm",
    "d/M/yyyy HH:mm:ss",
    "dd/MM/yyyy",
    "dd/MM/yyyy HH:mm",
    "dd/MM/yyyy HH:mm:ss"
    };

    DateTime dateTime;
    if (DateTime.TryParseExact(dateTimeStr, validDateTimeFormats,
    CultureInfo.InvariantCulture, DateTimeStyles.None, out dateTime))
    {
    // My logic
    }

    最佳答案

    感谢@Steve 的建议。不需要 dd 和 MM 组合。

    最终代码:

    var validDateTimeFormats = new[]
    {
    "d/M/yyyy",
    "d/M/yyyy HH:mm",
    "d/M/yyyy HH:mm:ss"
    };

    DateTime dateTime;
    if (DateTime.TryParseExact(dateTimeStr, validDateTimeFormats,
    CultureInfo.InvariantCulture, DateTimeStyles.None, out dateTime))
    {
    // My logic
    }

    关于C# DateTime.TryParseExact 带可选参数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44122614/

    28 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com