替换特定位置中的子字符串

Moh*_*eef 3 java

String date = "2012-11-28 12:30:30";
Run Code Online (Sandbox Code Playgroud)

我想2012-11-28 12:00:00通过使用String.replace方法替换日期:

String replacedDate = date.replace(date.substring(14, 19), "00:00");
Run Code Online (Sandbox Code Playgroud)

它工作正常,但如果日期是:

String date = "2012-11-28 18:18:18";
Run Code Online (Sandbox Code Playgroud)

使用上面的方法结果将是,2012-11-28 00:00:28但我想要输出2012-11-28 18:00:00.

Mar*_*ers 5

您不需要在String.replace此处使用此方法.如果您知道要替换的确切索引,并且您确定它们将始终相同,那么您可以使用子字符串和字符串连接:

String date = "2012-11-28 12:30:30";
date = date.substring(0, 14) + "00:00";
Run Code Online (Sandbox Code Playgroud)

看到它在线工作:ideone

注意:如果您的字符串确实代表日期,请考虑使用类型的变量Date而不是String.