【发布时间】:2009-11-25 21:29:58
【问题描述】:
如果我有一个日期,你会怎么写日期,而我想要的只是月份和日期,像这样 (mm/dd),然后像今年 7 月一样转动月份,08
【问题讨论】:
-
初始日期的类型是
String还是Date?
如果我有一个日期,你会怎么写日期,而我想要的只是月份和日期,像这样 (mm/dd),然后像今年 7 月一样转动月份,08
【问题讨论】:
String还是Date?
让我看看我是否理解得很好。
您有一个像“07/08”这样的日期,并且想要“08 年 7 月”?
你可以试试SimpleDateFormat
import java.text.SimpleDateFormat;
import java.text.ParseException;
class Test {
public static void main( String [] args ) throws ParseException {
SimpleDateFormat in = new SimpleDateFormat("MM/dd");
SimpleDateFormat out = new SimpleDateFormat("MMMM, dd");
System.out.println( out.format( in.parse("07/08") ) );
// Verbose
//String input = "07/09";
//Date date = in.parse( input );
//String output = out.format( date );
//System.out.println( output );
}
}
【讨论】:
用途:
Format formatter = new SimpleDateFormat("MMMM, dd");
String s = formatter.format(date);
【讨论】:
SimpleDateFormat 是您的朋友。如果您已经有一个 java.util.Date 对象,只需使用所需的 pattern 对其进行格式化(有关日期和时间模式的详细信息,请参阅 javadoc):
SimpleDateFormat out = new SimpleDateFormat("MMMM, dd");
String s = out.format(date); // date is your existing Date object here
(编辑:我正在添加一些细节,因为原始问题不清楚,我可能错过了真正的目标。
如果您有一个给定格式(例如 MM/dd)的日期的 String 表示,并且想要转换表示,您将需要 2 个 SimpleDateFormat,正如其他人指出的那样:一个来解析 @ 987654326@ 转换成Date 和另一个格式化Date。
SimpleDateFormat in = new SimpleDateFormat("MM/dd");
Date date = in.parse(dateAsString); // dateAsString is your String representation here
然后使用上面看到的代码sn-p来格式化。)
【讨论】:
像这样的月份和日期 (mm/dd) 然后像今年 7 月一样翻转月份,08
所以你想将MM/dd 转换为MMMM, dd?所以你以String 开始,你以String 结束?然后,您需要另一个具有第一个模式的 SimpleDateFormat 实例。
String dateString1 = "07/08";
Date date = new SimpleDateFormat("MM/dd").parse(dateString1);
String dateString2 = new SimpleDateFormat("MMMM, dd").format(date);
System.out.println(dateString2); // July, 08 (monthname depends on locale!).
【讨论】: