joda DateTime.toString乱码,该怎么处理?

demo
  • 3
新手上路,请多包涵

只有年月日乱码,时间不乱码
代码:

 public static void main(String[] args) {
        LocalTime localTime = new LocalTime();
        String sTime = localTime.toString("yyyy-MM-dd hh:mm:ss");
        System.out.println(sTime);
 }

图片描述

回复
阅读 453
1 个回答
✓ 已被采纳

LocalTime,只取时间部分,不包含日期。
LocalDate,只取日期部分,不包含时间。
DateTime,既取日期又取时间。

public void printTo(Appendable var1, ReadablePartial var2, Locale var3) throws IOException {
    if (var2.isSupported(this.iFieldType)) {//打乱码是因为不支持这部分信息,返回false
        try {
            FormatUtils.appendPaddedInteger(var1, var2.get(this.iFieldType), this.iMinPrintedDigits);
        } catch (RuntimeException var5) {
            DateTimeFormatterBuilder.appendUnknownString(var1, this.iMinPrintedDigits);
        }
    } else {
        //不支持的时候,用其他字符替换
        DateTimeFormatterBuilder.appendUnknownString(var1, this.iMinPrintedDigits);
    }

}


static void appendUnknownString(Appendable var0, int var1) throws IOException {
    int var2 = var1;

    while(true) {
        --var2;
        if (var2 < 0) {
            return;
        }

        var0.append('�');//这边打印出来
    }
}
你知道吗?

宣传栏