我在片刻String s = "Java ";
Scanner scan = new Scanner(System.in);
String t = scan.nextLine();
String u = s + t;
System.out.println(u);
输入时遇到了一个小格式问题。
a / A将返回上午/下午/下午,但是有没有办法将其格式化为包含句点?
即。的 A.M。 p.m。这是一个对客户很重要的格式更改,我无法通过片刻文档找到修复
我试过
a
没有成功
有可能吗?
答案 0 :(得分:4)
用于自定义meridiem的方法适用于版本< 1.6.0。您应该在较新版本中提供更新meridiem的功能。有关详细信息,请参阅the docs:
moment.updateLocale('en', {
meridiem: function(hour, minute, isLowerCase) {
if (hour < 12) {
return 'a.m.';
} else {
return 'p.m.';
}
}
});
答案 1 :(得分:2)
在docs之后,您可以拥有以下内容:
moment.updateLocale('en', {
meridiem: function (hour, minute, isLowercase) {
if( hour >= 12 )
return isLowercase ? 'p.m.' : 'P.M.';
else
return isLowercase ? 'a.m.' : 'A.M.';
}
});
console.log(moment().hour(1).format('HH:mm a'));
console.log(moment().hour(15).format('HH:mm A'));
&#13;
<script src="//cdnjs.cloudflare.com/ajax/libs/moment.js/2.13.0/moment.min.js"></script>
&#13;
如文档中所述,从当前版本 1.6.0
开始
Locale#meridiem
应该是一个回调函数,它根据小时,分钟和大写/小写返回正确的字符串。
在 1.6.0之前的版本:
Locale#meridiem
是am / pm的大写和小写版本的地图。
答案 2 :(得分:1)
根据@ user4040648回答,这里是如何在es6
中实现它的方法 moment.updateLocale('en', {
meridiem(hour, minute, isLowerCase) {
return hour < 12 ? 'a.m.' : 'p.m.';
}
});
答案 3 :(得分:0)
meridiem地图是1.5.x及以下版本,在1.6.0之后,meridiem是一个返回值的函数(参见link)。