`

日期format时,“MM”与“mm”为何不同?

阅读更多

项目中,默认的日期格式为“2009-12-08”,某个页面上时间格式想改为“09.12.08”,这个任务分给了我。 在修改时,遇到这么一个问题:设定pattern时用“MM”跟“mm”不一样。 

 

如下所示: 

 

  • 默认为, <fmt:formatDate value="${conStream.appplyDate}" pattern="yyyy-MM-dd"/>, 结果是“2009-12-08”. 
  • 用“mm”时, <fmt:formatDate value="${conStream.appplyDate}" pattern="yy.mm.dd"/>, 结果是“2009-00-08”!
  • 用“MM”时, <fmt:formatDate value="${conStream.appplyDate}" pattern="yy.MM.dd"/>   结果是“09.12.03”, 8错!

 

 

那么为什么会这样呢? 

 

自己用java.text.SimpleDateFormat类做了如下实验: 

 

public static void main(String[] args) {
		java.util.Date today = new java.util.Date();
		
		java.text.SimpleDateFormat df;
        String returnValue = "";

        df = new java.text.SimpleDateFormat("yy.mm.dd");
        returnValue = df.format(today);          
        System.out.println(returnValue);  // 09.27.21, 09.33.21, 09.34.21, 注意这个值, 运行了三次,三次输出的结果不同。    


        df.applyPattern("yy.MM.dd");
        System.out.println(df.format(today)); // 09.12.21
}
 更奇怪的问题出现了, 运行了三次,“mm”生成结果还不一样。

 

谁能来搞定这个“mm”呢?为什么用“mm”结果不对,且每运行一次结果有变?

分享到:
评论
5 楼 yqklw521 2010-06-15  
一个是24小时制的,一个是12小时制的
4 楼 残血舞 2010-06-10  
新手,对日期大小写 更加理解了。谢谢。
3 楼 toko_yuki 2010-06-09  
java是大小写敏感的,不要想当然觉得mm和MM是一样的
至于时间的字段,可以翻看api,都有说明
2 楼 wty_703 2010-05-07  
mm 是分钟 哎
1 楼 myworkfirst 2009-12-22  
   小m是 小时中的分钟数,大写的M才是年中的月份

相关推荐

    js 日期 format 格式化

    这种方法的核心在于定义一个名为`Format`的新方法,它接受一个格式字符串作为参数,并根据该字符串返回相应格式的日期字符串。 ```javascript Date.prototype.Format = function(fmt) { var o = { "M+": this....

    JS获取当前时间并格式化"yyyy-MM-dd HH:mm:ss"

    Date对象提供了多个方法来获取日期和时间的不同部分: - `getYear()`:返回当前年份,两位数表示(例如,2023年会返回23)。 - `getFullYear()`:返回完整的四位数年份(例如,2023年会返回2023)。 - `getMonth()`...

    js dateformat yyyy-MM-dd形式

    当我们需要将日期格式化为"yyyy-MM-dd"这种格式时,JavaScript提供了多种方法来实现这一需求。这个格式通常用于表示标准日期,没有时间部分,适合于展示或者存储日期。 首先,让我们理解"yyyy-MM-dd"格式的含义:`...

    【VB】Format 格式化日期时间数字函数详解

    11. **隐藏模式** - 使用“#”代替数字,当数值为0时隐藏。 ```vb MsgBox Format$("100123", "#######") ' 输出:100123 ``` 12. **指定小数位数** - 指定小数点后的位数。 ```vb MsgBox Format$("100123.12",...

    javascript的trim和日期时间格式化函数

    console.log(d.format('yyyy-MM-dd hh:mm:ss')); // 输出类似 "2023-09-15 10:30:45" ``` 通过上述自定义方法,我们可以灵活地处理字符串和日期时间的格式化需求,从而提高代码的可读性和维护性。这些实用的工具...

    string.Format 的用法

    - `{0:f}`:简短日期时间格式,格式为 MM/dd/yyyy hh:mm tt。 - 示例:`string.Format("{0:f}", System.DateTime.Now)` 输出为当前日期时间(小时和分钟)。 - 特点:显示日期和时间的一部分。 - `{0:F}`:完整...

    懒人原生format方法格式化Date时间日期

    在Java编程语言中,日期和时间的处理是一个常见的任务,`format`方法是`java.text.SimpleDateFormat`类的一个关键成员,用于将`Date`对象转换为指定格式的字符串。这个方法对于开发者来说尤其重要,因为它提供了灵活...

    C#(ASP.NET)DateTime日期类型格式化显示

    1.绑定时格式化日期方法: &lt;ASP:BOUNDCOLUMN DATAFIELD= "JoinTime " DATAFORMATSTRING= "{0:yyyy-MM-dd} " &gt; &lt;ITEMSTYLE WIDTH= "18% " &gt; 2.数据控件如DataGrid/DataList等的件格式化日期方法: e.Item.Cell[0]....

    String.Format数字格式化输出

    用于显示日期时间,格式为yyyy-MM-ddTHH:mm:ss。 - **T (Time)**:时间格式。用于显示时间,格式为HH:mm:ss。 #### 2. 示例解析 接下来,我们将通过示例来更深入地理解这些格式化符的用法: - **{0:N2}12.36**:...

    Format Strings

    例如,"yyyy-MM-dd HH:mm:ss"会显示为"年-月-日 时:分:秒"。通过组合不同的占位符,如"y"代表年份,"M"代表月份,"d"代表日,"H"代表24小时制的小时,"m"代表分钟,"s"代表秒,我们可以创建各种自定义格式。 ### ...

    Sql Server 中一个非常强大的日期格式化函数

    在SQL Server中处理日期和时间数据时,经常需要将日期和时间转换成不同的格式以便于展示或分析。`CONVERT` 函数是SQL Server中最常用的一种方法来实现日期和时间格式化的功能。通过这个函数,我们可以灵活地调整日期...

    js 时间计算(加减天数、返回当前时间后一个星期的日期,返回格式yyyy-MM-dd)

    同样,减去天数可以通过设置日期为当前日期减去所需天数实现。 返回当前时间后一个星期的日期,可以使用`setDate()`结合一周的天数7来完成: ```javascript now.setDate(now.getDate() + 7); ``` 然而,JavaScript...

    sap abap日期类函数参考

    这个函数首先将日期拆分为年、月和日,然后根据用户设置的日期格式(1-4分别代表不同格式,如 'dd.mm.yyyy', 'mm/dd/yyyy', 'yyyy-mm-dd' 等)重新组合日期。 函数 `ZCONVERT_DATE_FORMAT` 的工作原理如下: - ...

    C# 日期函数 string.Format

    然后,`ToString()`方法默认将日期和时间转换为"yyyy-MM-dd HH:mm:ss"的格式,这在Label1中显示。 `ToFileTime()`和`ToFileTimeUtc()`方法将`DateTime`对象转换为文件时间,这是以100纳秒为单位自1601年1月1日以来...

    WPF中StringFormat的用法

    通过上述示例可以看出,`StringFormat` 在 WPF 中的用法与 C# 中 `string.Format` 的用法非常相似,只是在语法上稍有不同。熟练掌握这些格式化技巧,可以帮助开发者更加高效地进行 UI 设计和数据展示工作。

    @JsonFormat的使用jackson-annotations

    此外,`@JsonFormat`还支持时区设置,例如`timezone = "Asia/Shanghai"`,这将在序列化和反序列化时使用指定时区。 除了日期时间,`@JsonFormat`还可以用于控制数字的输出格式。例如,你可以设定小数点后保留的位数...

    Delphi中Format与FormatDateTime函数详解

    在Delphi编程环境中,`Format`与`FormatDateTime`函数是处理字符串格式化与日期时间格式化的重要工具。本文将深入解析这两个函数的功能、参数及其使用场景,旨在为Delphi开发者提供全面的理解与实践指导。 ### 一、...

    java.lang.IllegalArgumentException Cannot format given Object as a Date

    当尝试将一个无法转换为日期的对象格式化时,就会抛出"Cannot format given Object as a Date"这样的错误。这个错误通常发生在试图使用日期格式化类(如`java.text.SimpleDateFormat`)来处理非日期类型的数据时。 ...

    javascript中Date format(js日期格式化)方法小结.docx

    ### JavaScript中的Date Format(JS日期格式化)方法详解 #### 概述 在日常的Web开发工作中,我们经常需要处理日期和时间相关的数据。JavaScript 的 `Date` 对象提供了多种方法来获取和设置日期时间,但原生 API 并...

    Format的用法大全

    在处理日期和时间时,我们会遇到各种格式,如YYYY-MM-DD、MM/DD/YYYY或yyyy.MM.dd G 'at' HH:mm:ss z。理解这些格式对于数据分析和日志记录至关重要。 6. **编译器与链接器的格式要求**: 编译器和链接器处理源...

Global site tag (gtag.js) - Google Analytics