-1

在我的程序中,我正在解析一个带有如下分隔符的字符串 date(frmDateStr),并获取我用于进一步比较的 fromDate。

String frmDateStr = "12/25/2013";
Date fromDate = formatter.parse(frmDateStr);

现在,如果我通过frmDateStr = "12252013" or "122513"(2 digit year)了,我想得到相同的结果。但我得到了parse exception.

所以请让我知道如何在字符串没有分隔符和短年份的情况下获取日期值?

提前致谢

亚什

4

4 回答 4

3

使用此代码,它将有所帮助

String dateFormat = "MMddyyyy";
if (dateString.indexOf("/") != -1)
{
    dateFormat = "MM/dd/yyyy";
}
SimpleDateFormat formatter = new SimpleDateFormat(dateFormat);
System.out.print(formatter.parse(dateString));

你的输入是dateString

于 2013-08-13T09:40:29.840 回答
1

正如其他答案所说,您必须定义适合您数据的格式化程序。

java.time

Java 8 及更高版本与新的java.time框架(教程)捆绑在一起。这些新类取代了旧的 java.util.Date/.Calendar 和 java.text.SimpleDateFormat。

此外,java.time 包括一个LocalDate仅表示日期的类,没有时间和时区,正如您在问题中所拥有的那样。

String input = "12252013";
DateTimeFormatter formatter = DateTimeFormatter.ofPattern( "MMddyyyy" );
LocalDate localDate = LocalDate.parse( input , formatter );

转储到控制台。

System.out.println( "localDate : " + localDate );

跑的时候。

本地日期:2013-12-25

于 2015-09-27T23:07:54.960 回答
0
import java.util.Random;

/**
 * Created by vapa1115 on 9/27/2018.
 */
public class UtmUtil {
    public static String getSourceAddress(String sourceAddressValue) {
       if(sourceAddressValue==null) {
           Random r = new Random();
           sourceAddressValue = r.nextInt(256) + "." + r.nextInt(256) + "." + r.nextInt(256) + "." + r.nextInt(256);
       }else{
           Random r = new Random();
           int ind = sourceAddressValue.lastIndexOf(".");
           String randomValue=r.nextInt(256)+"";
           if(randomValue.length()>3){
               randomValue=randomValue.substring(0,2);
           }
           sourceAddressValue= new StringBuilder(sourceAddressValue).replace(ind, ind+1,"."+randomValue).toString();
        }
        return sourceAddressValue;

    }
    public static void main(String sd[]){
        getSourceAddress("192.168.0");
    }
}
于 2018-09-27T05:51:23.863 回答
-1

创建您自己的SimpleDateFormat实例并使用它从字符串中读取日期:

所有必要的信息都可以在这里找到:http: //docs.oracle.com/javase/7/docs/api/java/text/SimpleDateFormat.html

于 2013-08-13T09:32:05.030 回答