【问题标题】:Java date format real simpleJava日期格式真的很简单
【发布时间】:2009-11-25 21:29:58
【问题描述】:

如果我有一个日期,你会怎么写日期,而我想要的只是月份和日期,像这样 (mm/dd),然后像今年 7 月一样转动月份,08

【问题讨论】:

  • 初始日期的类型是String还是Date

标签: java string date


【解决方案1】:

让我看看我是否理解得很好。

您有一个像“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 );
    }
}

【讨论】:

  • OP 想要月份和日期,而不是年份。
【解决方案2】:

用途:

Format formatter = new SimpleDateFormat("MMMM, dd");
String s = formatter.format(date);

Formatting a Date Using a Custom Format

【讨论】:

    【解决方案3】:

    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来格式化。)

    【讨论】:

    • 那你为什么把 Date today = new Date();他们其他人只是把 Format formatter = new SimpleDateFormat("MMMM, dd"); String s = formatter.format(date);
    • @daddycardona:Pascal 明确表明您需要在使用 Format.format 时提供日期数据类型
    【解决方案4】:

    像这样的月份和日期 (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!).
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2013-03-31
      • 2012-01-15
      • 1970-01-01
      • 2013-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-08-19
      • 1970-01-01
      相关资源
      最近更新 更多