我有一个包含格式日期的字符串YYYY-MM-DD.
您如何建议我以DD-MM-YYYY最佳方式将其转换为格式?
这就是我天真的做法:
import java.util.*;
public class test {
public static void main(String[] args) {
String date = (String) args[0];
System.out.println(date); //outputs: YYYY-MM-DD
System.out.println(doConvert(date)); //outputs: DD-MM-YYYY
}
public static String doConvert(String d) {
String dateRev = "";
String[] dateArr = d.split("-");
for(int i=dateArr.length-1 ; i>=0 ; i--) {
if(i!=dateArr.length-1)
dateRev += "-";
dateRev += dateArr[i];
}
return dateRev;
}
}
Run Code Online (Sandbox Code Playgroud)
但还有其他更优雅和有效的方法吗?IE浏览器.使用一些内置功能?我一直无法找到一个,同时快速搜索API.
这里有人知道另一种方式吗?
我想转换21022019为2019-02-21,但由于某种原因我无法转换。
import org.joda.time.LocalDate;
import org.joda.time.LocalDateTime;
import org.joda.time.format.DateTimeFormat;
public class StringToLocalDate {
public static void main(String[] args) {
System.out.println(convert("21022019"));
}
static LocalDate convert(String date) {
LocalDateTime ldt;
ldt = LocalDateTime.parse(date, DateTimeFormat.forPattern("YYYY-MM-dd"));
return LocalDateTime.now().toLocalDate();
}
}
Run Code Online (Sandbox Code Playgroud) 转换dd-mmm-yyyy为dd-mm-yyyy格式。
String dateofbirth = ((JTextField) dobcalender.getDateEditor().getUiComponent()).getText();//date from jcalender
SimpleDateFormat myFormat = new SimpleDateFormat("dd-MM-yyyy");
Run Code Online (Sandbox Code Playgroud)
尝试了以下代码:
System.out.println(myFormat.format(myFormat.parse(dateofbirth)));
myFormat.format(myFormat.parse(dateofbirth));
Run Code Online (Sandbox Code Playgroud)
显示错误parseexception