淘先锋技术网

首页 1 2 3 4 5 6 7

在Java中,日期格式化功能很常用,但是有一个常见的坑就是mm和MM的区别。

首先,mm表示的是分钟,而MM表示的是月份。

在日期格式化的时候,如果使用mm表示月份,那么输出的结果将会是分钟数。例如:

SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
Date date = new Date();
String dateString = sdf.format(date);
System.out.println(dateString); // 2021-11-23 16:05:30

而如果使用MM表示分钟数,那么程序会直接报错:

SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:MM:ss");
// 报错:java.lang.IllegalArgumentException: Illegal pattern character 'M'

因此,在日期格式化的时候,一定要记得使用正确的格式化字符。

另外,需要注意的是,MM表示的是大写字母的月份,而小写字母的月份表示为mm。这一点在英文中很好理解,但是在中文中可能会有些困惑。

总之,正确使用mm和MM是很重要的,希望大家都能避免这个坑。