24

我无法以两位数格式显示日期。我希望它是这样,当日期或月份是一位数时,例如:4 它会显示 04。我无法想出它的逻辑,如果有人可以帮助我,我将非常感激。

Calendar c = Calendar.getInstance();
        int year = c.get(Calendar.YEAR);
        int day = c.get(Calendar.DAY_OF_MONTH);
        int month = c.get(Calendar.MONTH);

        if (month % 10 == 0) {

            Place = 0 + month;
        }
        String Dates = year + "-" + Place + "-" + day;
        Date.setText((Dates));
4

11 回答 11

49
DecimalFormat mFormat= new DecimalFormat("00");
mFormat.format(Double.valueOf(year));

在你的情况下:

 mFormat.setRoundingMode(RoundingMode.DOWN);
 String Dates =  mFormat.format(Double.valueOf(year)) + "-" +  mFormat.format(Double.valueOf(Place)) + "-" +  mFormat.format(Double.valueOf(day));
于 2012-04-18T06:26:48.857 回答
13

请使用 SimpleDateFormat

SimpleDateFormat sd1 = new SimpleDateFormat("dd-MMM-yyyy");
System.out.println("Date : " + sd1.format(new Date(c.getTimeInMillis()));

输出

Date : 18-Apr-2012
于 2012-04-18T06:30:13.687 回答
12
Calendar c = Calendar.getInstance();
int year = c.get(Calendar.YEAR);
int day = c.get(Calendar.DAY_OF_MONTH);
int month = c.get(Calendar.MONTH)+1;

String Dates = year + "-" +(month<10?("0"+month):(month)) + "-" + day;
Date.setText((Dates));
于 2012-04-18T06:31:03.090 回答
8
if (dayOfMonth < 10) {
    NumberFormat f = new DecimalFormat("00");
    Sting date = String.valueOf(f.format(dayOfMonth));
}
于 2016-05-06T07:42:26.143 回答
4
于 2016-05-06T18:53:01.423 回答
4

纯粹使用 Java 8 Time 库:

String date = LocalDate.now().format(DateTimeFormatter.ofPattern("yyyy-MM-dd"));
于 2018-03-28T13:44:18.647 回答
3
if ((month+1)<10){
    place = "0"+(String) (month+1)
}

每天做同样的事情,你就可以走了。

月份 +1,因为它以 0 开头。

于 2012-04-18T06:27:31.590 回答
3

您可以使用 String.format() 方法。

例子 :

String.format("%02d", month);

因此,如果所选月份小于 10,他们会在月份前添加“0”。

于 2017-11-30T18:05:40.093 回答
2

使用SimpleDateFormat类.. 有很多方法可以做到这一点..

像这样的东西..

 SimpleDateFormat sdfSource = new SimpleDateFormat("dd/MM/yy"); // you can add any format..


      Date date = sdfSource.parse(strDate);
于 2012-04-18T06:27:43.067 回答
2

您可以使用 SimpleDateFormat 类

String dates = new java.text.SimpleDateFormat("dd-MM-YYYY").format(new Date())

有关更多信息 https://docs.oracle.com/javase/6/docs/api/java/text/SimpleDateFormat.html

于 2017-06-12T08:24:19.063 回答
0

乔达时间

使用Joda-Time库,特别是org.joda.time.DateTime类。

DateTime datetime = new DateTime(new Date());
String month = datetime.toString("MM");

结果将是 2 位数

如果您需要例如一年,您可以使用:

String year = datetime.toString("YYYY");

结果将是一年的 4 位数字。

于 2017-03-01T20:07:11.750 回答