【问题标题】:How to check whether a date sting has a particular format [closed]如何检查日期字符串是否具有特定格式[关闭]
【发布时间】:2013-01-01 20:19:44
【问题描述】:

我有一个网络服务,我们将日期传递为 字符串 ::

  • fromDate=2012-11-06 22:16:23.157&toDate=2012-11-06 22:44:56.367(这是类型 1)

和

  • fromDate=2012-11-06&toDate=2012-11-07(这是类型 2)

现在,我想要的是当我们有“TYPE 1”时,然后 -

List<something> myList=vc.getsomething(FromDate,ToDate);
else{
   String newFromDate = fromDate + " " + constant.ZERO_APPEND;
   String newToDate = toDate + " " + constant.ZERO_APPEND;
   List<something> myList=vc.getsomething(newFromDate,newToDate);
}

如何做到这一点..??请帮忙..

【问题讨论】:

  • 你应该尽量让你的问题更准确。否则无法提供帮助。

标签: java string


【解决方案1】:

如果你想检查格式,你应该在java中使用正则表达式并使用str.matches("Regex here")(regex in java)检查格式

或者如果您的格式是固定的,您可以通过 str.contains(":") 检查第一种格式

【讨论】:

  • 如您所见,在两个字符串日期中,我们都有“:”..
  • 我没有看到你在第二格式中的哪里有“:”
  • ok..sry.. 如果我们的日期为 2012-11-06,那么我们将 00:00:00 追加到日期..
  • 我不明白你的问题? :(
【解决方案2】:

比较字符串时使用.equals。这是一个例子:

String first = "text";
String second = "text";

if(first.equals(second))
{
    System.out.println("Strings are equal!");
}

【讨论】:

  • 但是两个日期的格式不同,那么如何比较呢??
  • @Deep_89:您需要解析字符串。如果要解析的字符串是一致的,您的日期字符串看起来是一致的,那么它相对简单。如果您想做更复杂的事情,请查看regular expressions。
【解决方案3】:

我最好的猜测是你想要这样的东西吗?但我可能需要更多的上下文,因为我不完全理解这个问题。

if(FromDate.contains(":")){ //If it contains : from the seconds separator
    List<something> myList=vc.getsomething(FromDate,ToDate);
}
else{
   String newFromDate = fromDate + " " + constant.ZERO_APPEND;
   String newToDate = toDate + " " + constant.ZERO_APPEND;
   List<something> myList=vc.getsomething(newFromDate,newToDate);
}

【讨论】:

  • 两个日期都有“:”,当我们有 TYPE-1 的日期时,然后调用列表,否则如果我们有 TYPE-2,则在 00:00:00 后附加 TYPE-2 的日期..然后我们用修改后的日期再次调用列表..如何实现这个??
  • @Deep_89 我不明白你想要什么。在您的示例中,Type1 在传递给您的网络服务时没有“:”。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多