如何在所需的输出中更改日期格式;

时间:2015-01-27 13:32:38

标签: java android calendar

我在更改日期格式时遇到困难, 我的字符串就像我得到的那样

 sat,05 sep 2014

我如何获得逗号之后的每个值

5 
september

2015 

4 个答案:

答案 0 :(得分:2)

使用SimpleDateFormat

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

希望这有帮助。