在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是很重要的,希望大家都能避免这个坑。