我在更改日期格式时遇到困难, 我的字符串就像我得到的那样
sat,05 sep 2014
我如何获得逗号之后的每个值
5
september
2015
答案 0 :(得分:2)
final String first_FORMAT = "dd/MM/yyyy";
final String second_FORMAT = "yyyy/MM/dd";
String oldDateString = "27/01/2014";
String newDateString;
SimpleDateFormat sdf = new SimpleDateFormat(first_FORMAT);
Date d = sdf.parse(oldDateString);
sdf.applyPattern(second_FORMAT);
newDateString = sdf.format(d);
答案 1 :(得分:0)
你是怎么得到这个字符串的? 也许SimpleDateFormat可以帮到你。
答案 2 :(得分:0)
目前还不清楚你究竟想要什么,但我怀疑,你得到的字符串: sat,05 sep 2014 ,必须是与此类似的SimpleDateFormat:
SimpleDateFormat oldFormat = new SimpleDateFormat("EEE,dd MMM yyyy");
因此,如果您想要 2015年9月5日之类的日期,那么必须是:
SimpleDateFormat newFormat = new SimpleDateFormat("dd MMM yyyy");
所以可能的方法应该是:
Date oldFormattedDate = oldFormat.parse(YourOldDateString);
String newFormattedString = newFormat.format(oldFormattedDate);
答案 3 :(得分:0)
改善Leyonce上面的答案,您实际上可以使用substring
来实际获取各个日期元素。
final String originalFormat = "EEE, dd MMM yyyy";
final String desiredFormat = "dd MMMMM yyyy";
SimpleDateFormat sdf = new SimpleDateFormat(originalFormat);
String inputDate = "sat, 05 sep 2014";
Date date = sdf.parse(inputDate);
sdf.applyPattern(desiredFormat);
String dateString = sdf.format(date);
String parsedDate = dateString.substring(0, 2);
String parsedMonth = dateString.substring(3, dateString.lastIndexOf(" "));
String parsedYear = dateString.substring(dateString.lastIndexOf(" ")+1 , dateString.length());
System.out.println(parsedDate);
System.out.println(parsedMonth);
System.out.println(parsedYear);
输出应为:
05
September
2014
希望这有帮助。