如何使用月份和年份格式以精确格式显示日期[重复]

Posted

技术标签:

【中文标题】如何使用月份和年份格式以精确格式显示日期[重复]【英文标题】:How to display date in exact format with month and year format [duplicate] 【发布时间】:2014-12-20 11:56:34 【问题描述】:

您好,如何使用July 3, 1969 显示给定的字符串,用于字符串1969-07-03

String a="1969-07-03";

预期输出:July 3, 1969

我最初使用此方法将其转换为正确的格式。

  textView.setText(reverseIt(a)); // but this reverse the whole string.

    public static String reverseIt(String source) 
        int i, len = source.length();
        StringBuffer dest = new StringBuffer(len);

        for (i = (len - 1); i >= 0; i--)
          dest.append(source.charAt(i));
        return dest.toString();
      

请帮我解决这个问题。

【问题讨论】:

【参考方案1】:

使用SimpleDateFormat:http://developer.android.com/reference/java/text/SimpleDateFormat.html

类似SimpleDateFormat output = new SimpleDateFormat("MMM d, yyyy", Locale.getDefault())

您必须将该日期的字符串表示形式转换为 Date 对象,例如:

public static Date getDate(String dateString) 
    DateFormat df = new SimpleDateFormat("yyyy-MM-dd", Locale.US);
    try 
        return df.parse(dateString);
     catch (ParseException e) 
        return null;
    

然后使用String formattedDate = output.format(getDate(input))(当然要处理解析异常和潜在的空值)

【讨论】:

【参考方案2】:

你为什么不做这样的事情...... 查看字符串是否为1969-07-03 并且要输出July 3, 1969

伪代码:

int Year = First 4 chars //First break the string into three integers.
int month = 6-7 char
int date = 9-10 char

and then you can do something like

if(month==1)
    string monthname=January
else if(month==2)string monthname= Feburary....and so on....

and then print "monthname date, year"

【讨论】:

他为什么要创建一个已经存在的功能? (SimpleDateFormat)

以上是关于如何使用月份和年份格式以精确格式显示日期[重复]的主要内容,如果未能解决你的问题,请参考以下文章

颤振格式日期时间[重复]

日期格式:

Friendly Date Ranges

excel中转换日期格式

仅在 Pandas 中将日期时间转换为月份和年份 [重复]

Android - 显示不同日期格式的月份名称