String.format以dd-MMM-yyy-HH:mm模式获取输出日期(Java)

String.format以dd-MMM-yyy-HH:mm模式获取输出日期(Java),java,Java,其中start是来自org.joda.timeapi的LocalDateTime类中的日期输入 当我使用这段代码时,它的返回月份是这样的“Dec”,但我希望输出为“Dec”。如果你想要一个特定的大小写,我会使用.toUpperCase()如果你想要一个特定的大小写,我会使用.toUpperCase()唯一的方法是用大写版本替换子字符串 String.format(start.toString("dd-MMM-YYYY HH:mm")); 唯一的方法是用大写版本替换子字符串 String.for

其中start是来自
org.joda.time
api的
LocalDateTime
类中的日期输入


当我使用这段代码时,它的返回月份是这样的“Dec”,但我希望输出为“Dec”。

如果你想要一个特定的大小写,我会使用
.toUpperCase()
如果你想要一个特定的大小写,我会使用
.toUpperCase()

唯一的方法是用大写版本替换子字符串

String.format(start.toString("dd-MMM-YYYY HH:mm"));

唯一的方法是用大写版本替换子字符串

String.format(start.toString("dd-MMM-YYYY HH:mm"));
如果这个(String.format(start.toString(“dd-MMM-YYYY-HH:mm”);)检索到所需内容的正确格式,那么您只需使用

String.format(start.toString(“dd-MMM-yyy-HH:mm”)).toUpperCase()

如果这个(String.format(start.toString(“dd-MMM-YYYY-HH:mm”);)检索到所需内容的正确格式,那么您只需使用


String.format(start.toString(“dd-MMM-yyy-HH:mm”)).toUpperCase()

我总是使用子字符串,在我的情况下是这样的:

Date start = new Date();
SimpleDateFormat oFormat = new SimpleDateFormat("dd-MMM-YYYY HH:mm");
String sDate = oFormat.format(start);

System.out.println(sDate);

sDate = sDate.substring(0,3) + sDate.substring(3,6).toUpperCase() +  sDate.substring(6,sDate.length());

System.out.println(sDate);

我总是使用子字符串,在我的情况下是这样的:

Date start = new Date();
SimpleDateFormat oFormat = new SimpleDateFormat("dd-MMM-YYYY HH:mm");
String sDate = oFormat.format(start);

System.out.println(sDate);

sDate = sDate.substring(0,3) + sDate.substring(3,6).toUpperCase() +  sDate.substring(6,sDate.length());

System.out.println(sDate);

但当我将模式定义为“MMM”时,为什么它不以所有大写字母返回月份。大写字母
M
表示月份,小写字母
M
表示分钟。您能在文档中说明哪些是大写月份吗?但是当我将模式定义为“MMM”时,为什么它不以所有大写字母返回月份。大写
M
表示月份,小写
M
表示分钟。您能在文档中说明哪些是大写月份吗?注意:整个字符串更容易用大写。确实如此!:)但是如果有一天有时区或者其他什么的话,我不会。很高兴知道多种解决方案!注意:整个字符串的大写形式更简单。确实如此!:)但是如果有一天有时区或者其他什么的话,我不会。很高兴知道多种解决方案!