我正在使用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位置,但感觉很麻烦。
答案 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);