Java getQauntdate()方法说明
有人能给我解释一下我在脚本中找到的这个方法的功能吗:Java getQauntdate()方法说明,java,go,Java,Go,有人能给我解释一下我在脚本中找到的这个方法的功能吗: public static String getQuantDate(final int quant) { final SimpleDateFormat sdf = new SimpleDateFormat("MMdd"); final int dayOfYear = quant; final Calendar calendar = Calendar.getInstance();
public static String getQuantDate(final int quant) {
final SimpleDateFormat sdf = new SimpleDateFormat("MMdd");
final int dayOfYear = quant;
final Calendar calendar = Calendar.getInstance();
calendar.set(Calendar.DAY_OF_YEAR, dayOfYear);
final Date dat = calendar.getTime();
return sdf.format(dat);
}
我需要把它翻译给golang,但我不明白翻译它的功能 注释:
// format string. This returns MMdd
final SimpleDateFormat sdf = new SimpleDateFormat("MMdd");
//redundant re-declaration of function parameter
final int dayOfYear = quant;
// make a date and set DAY_OF_YEAR to quant
final Calendar calendar = Calendar.getInstance();
calendar.set(Calendar.DAY_OF_YEAR, dayOfYear);
// get date and return it in the correct format
final Date dat = calendar.getTime();
return sdf.format(dat);
看起来函数接受一个数字,将其转换为日期,并格式化
1
将产生0101
13
将给出0113
32
将给出0201
等等
不过,目前还不清楚这是如何处理闰年和其他类似的变量的。它似乎不是很高质量的代码,我建议您分析您的问题,并提出一个好的规范。它将当前年份中的日数转换为带有月和日数的字符串;例如,今天是2017年的第213天,当您将213传递给此方法时,它将返回一个字符串
“0801”
(8月1日)。@Jesper yeah,但它看起来很糟糕。不接受年份作为输入,因此确实没有办法正确处理闰年。@captncraig实际上,它总是使用当前年份,因此如果在2月29日之后的闰年调用此方法,对于相同的输入值,它将给出与非闰年不同的结果。