【问题标题】:checking strings for specific date format检查特定日期格式的字符串
【发布时间】:2017-09-28 06:47:28
【问题描述】:

我有一个List<String>Times,不幸的是其中的一些数据包含1-Apr 或26-Mar 之类的日期。我知道如何实现一个 for 循环来解析每个数据,但是我究竟使用什么来检查日期。

在List<String>Times里面,有11:30am、12:00mn等时间的数据

【问题讨论】:

  • 那么您到底在寻找什么,日期或时间?
  • if (DateTime.TryParseExact("11:30am", "hh:mmtt", CultureInfo.InvariantCulture, DateTimeStyles.AssumeLocal, out var dt))
  • 抱歉不准确,我实际上是在寻找时间。并且所有数据都在字符串中

标签: c# list date filter


【解决方案1】:

这是一种区分日期和时间的方法,它不是最好的方法,但在这种情况下它可以完成这项工作:

Boolean isTime(String input){
    return input.contains(":");
}

void iterateList(){
    foreach(String s in Times){
        if(isTime(s)){
            //handle time
        } else {
            //handle dates
        }
    }
}

我不知道这是不是你要找的东西,所以我可能错了

【讨论】:

    【解决方案2】:

    您可以使用DateTime.ParseExact。

    根据您输入的文本,您可以选择适当的format string。例如1-Apr,你使用"d-MMM":

    DateTime date = DateTime.ParseExact("1-Apr", "d-MMM", CultureInfo.InvariantCulture);
    

    请注意,您必须针对您的案例使用适当的文化。这个例子是CultureInfo.InvariantCulture。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2018-08-30
      • 2016-08-04
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-01-01
      • 2013-10-01
      相关资源
      最近更新 更多