将月份变为01,02而不是1,2

时间:2016-05-28 13:18:38

标签: java android calendar

我正在使用Calender课程,更具体地说,我需要将所有12个月作为两个数字回来。

如果我使用以下代码:

 int month = (myCalendar.get(Calendar.MONTH)) +1;

这是我在不同月份得到的: 1,2,3,4,5,6,7,8,9,10,11,12

但我真正需要的是: 01,02,03,04,05,06,07,08,09,10,11,12

这是因为我需要制作子串,如果我获得了整数,它就会出错。 有没有一种简单的方法来解决这个问题?

我可以使用if语句并检查整个日期是否仅为5个数字,然后添加零和3位置,但感觉很麻烦。

3 个答案:

答案 0 :(得分:2)

如果你不想尝试if语句试试这个

java.lang.IllegalArgumentException: Currently we don't support writing bucketed data to this data source.
    at org.apache.spark.sql.DataFrameWriter.assertNotBucketed(DataFrameWriter.scala:462)
    at org.apache.spark.sql.DataFrameWriter.save(DataFrameWriter.scala:243)

答案 1 :(得分:1)

加载为“1”而不是“01”的原因是因为它存储在int中,请执行以下if语句:

String sMonth = "";
if (month < 10) {
    sMonth = "0"+String.valueOf(month);
} else {
    sMonth = String.valueOf(month);
}

然后使用sMonth代替month

答案 2 :(得分:1)

如果你想把它作为一个整数,你就不会得到前导零。分配字符串变量如下

String monthStr = month < 10 ? "0"+month : String.valueOf(month);