如何在android中获得月和日?

Gab*_*lle 3 java datetime android

我需要得到月份和日期:1月01日,2月02日...和01月初一天等等...我试过这个:

 String dd = c.get(Calendar.YEAR) + "-" 
        + c.get(Calendar.MONTH)
        + "-" + c.get(Calendar.DAY_OF_MONTH) 
        + " " + c.get(Calendar.HOUR_OF_DAY) 
        + ":" + c.get(Calendar.MINUTE)
        + ":" + c.get((Calendar.SECOND));
Run Code Online (Sandbox Code Playgroud)

但我得到这样的东西:

2011-8-1 12:05:20
Run Code Online (Sandbox Code Playgroud)

哪个是这个问题的解决方案?对于一个月,我想我必须加1,对吗?

Uro*_*nik 13

        String month=c.get(Calendar.MONTH)+1+"";
    if(month.length()<2){
         month="0"+month;   
    }  
Run Code Online (Sandbox Code Playgroud)


Ale*_*s G 11

你的问题太复杂了.如果你只需要以某种方式格式化日期,那么使用java.text.SimpleDateFormatclass.请参阅此处的文档:http://developer.android.com/reference/java/text/SimpleDateFormat.html

如果您确实需要获得单个部件,那么您使用Calendar.get方法是正确的.我建议你仔细阅读java.util.Calendar.


小智 7

Date date = calendar.getTime();
SimpleDateFormat format = new SimpleDateFormat("MM-dd-yyyy HH:mm:ss");
String formattedDate = format.format(date);
Run Code Online (Sandbox Code Playgroud)