java - 如何检查 String 是否包含 SimpleDateFormat 中的日期并检索日期?

标签 java string date contains simpledateformat

到目前为止我的代码:

String string = "Temp_2014_09_19_01_00_00.csv"  
SimpleDateFormat format = new SimpleDateFormat("yyyy_MM_dd");

如何检查字符串是否包含日期?我怎样才能检索这个日期?有什么方向吗?

最佳答案

这是一个使用正则表达式来做你想做的事情的简单示例(你可能想自己研究正则表达式):

public static void main(String[] args) throws FileNotFoundException, ParseException {
    String string = "Temp_2014_09_19_01_00_00.csv";
    SimpleDateFormat format = new SimpleDateFormat("yyyy_MM_dd");
    Pattern p = Pattern.compile("\\d\\d\\d\\d_\\d\\d_\\d\\d");
    Matcher m = p.matcher(string);
    Date tempDate = null;
    if(m.find())
    {
        tempDate = format.parse(m.group());
    }
    System.out.println("" + tempDate);
}

正则表达式会查找4digits_2digits_2digits,如果找到则采用该匹配项并尝试将其转换为日期。如果找不到匹配项,则 tempDate 将为 null。如果您想引入时间戳,您也可以这样做。

关于java - 如何检查 String 是否包含 SimpleDateFormat 中的日期并检索日期?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31052906/

相关文章:

java - 将每周电子邮件发送/时事通讯与 Spring 框架集成

java - Android OnClickListener 复杂性

java - 查找字符串中的子字符串(HTML、Android)

javascript - 如何比较日期和时刻

java - 日历方法 getTimeInMillis() 返回错误值

sql - 从年/月而不是日期字段中选择滚动日期范围

java - Mockito 匹配任何类参数

java - java中的字符串连接

java - 检查字符串中使用的特定字符?

c - 在 C 中打印字符串的二进制 ASCII 码