项目中,默认的日期格式为“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”结果不对,且每运行一次结果有变?
分享到:
相关推荐
这种方法的核心在于定义一个名为`Format`的新方法,它接受一个格式字符串作为参数,并根据该字符串返回相应格式的日期字符串。 ```javascript Date.prototype.Format = function(fmt) { var o = { "M+": this....
Date对象提供了多个方法来获取日期和时间的不同部分: - `getYear()`:返回当前年份,两位数表示(例如,2023年会返回23)。 - `getFullYear()`:返回完整的四位数年份(例如,2023年会返回2023)。 - `getMonth()`...
当我们需要将日期格式化为"yyyy-MM-dd"这种格式时,JavaScript提供了多种方法来实现这一需求。这个格式通常用于表示标准日期,没有时间部分,适合于展示或者存储日期。 首先,让我们理解"yyyy-MM-dd"格式的含义:`...
11. **隐藏模式** - 使用“#”代替数字,当数值为0时隐藏。 ```vb MsgBox Format$("100123", "#######") ' 输出:100123 ``` 12. **指定小数位数** - 指定小数点后的位数。 ```vb MsgBox Format$("100123.12",...
console.log(d.format('yyyy-MM-dd hh:mm:ss')); // 输出类似 "2023-09-15 10:30:45" ``` 通过上述自定义方法,我们可以灵活地处理字符串和日期时间的格式化需求,从而提高代码的可读性和维护性。这些实用的工具...
- `{0:f}`:简短日期时间格式,格式为 MM/dd/yyyy hh:mm tt。 - 示例:`string.Format("{0:f}", System.DateTime.Now)` 输出为当前日期时间(小时和分钟)。 - 特点:显示日期和时间的一部分。 - `{0:F}`:完整...
在Java编程语言中,日期和时间的处理是一个常见的任务,`format`方法是`java.text.SimpleDateFormat`类的一个关键成员,用于将`Date`对象转换为指定格式的字符串。这个方法对于开发者来说尤其重要,因为它提供了灵活...
1.绑定时格式化日期方法: <ASP:BOUNDCOLUMN DATAFIELD= "JoinTime " DATAFORMATSTRING= "{0:yyyy-MM-dd} " > <ITEMSTYLE WIDTH= "18% " > 2.数据控件如DataGrid/DataList等的件格式化日期方法: e.Item.Cell[0]....
用于显示日期时间,格式为yyyy-MM-ddTHH:mm:ss。 - **T (Time)**:时间格式。用于显示时间,格式为HH:mm:ss。 #### 2. 示例解析 接下来,我们将通过示例来更深入地理解这些格式化符的用法: - **{0:N2}12.36**:...
例如,"yyyy-MM-dd HH:mm:ss"会显示为"年-月-日 时:分:秒"。通过组合不同的占位符,如"y"代表年份,"M"代表月份,"d"代表日,"H"代表24小时制的小时,"m"代表分钟,"s"代表秒,我们可以创建各种自定义格式。 ### ...
在SQL Server中处理日期和时间数据时,经常需要将日期和时间转换成不同的格式以便于展示或分析。`CONVERT` 函数是SQL Server中最常用的一种方法来实现日期和时间格式化的功能。通过这个函数,我们可以灵活地调整日期...
同样,减去天数可以通过设置日期为当前日期减去所需天数实现。 返回当前时间后一个星期的日期,可以使用`setDate()`结合一周的天数7来完成: ```javascript now.setDate(now.getDate() + 7); ``` 然而,JavaScript...
这个函数首先将日期拆分为年、月和日,然后根据用户设置的日期格式(1-4分别代表不同格式,如 'dd.mm.yyyy', 'mm/dd/yyyy', 'yyyy-mm-dd' 等)重新组合日期。 函数 `ZCONVERT_DATE_FORMAT` 的工作原理如下: - ...
然后,`ToString()`方法默认将日期和时间转换为"yyyy-MM-dd HH:mm:ss"的格式,这在Label1中显示。 `ToFileTime()`和`ToFileTimeUtc()`方法将`DateTime`对象转换为文件时间,这是以100纳秒为单位自1601年1月1日以来...
通过上述示例可以看出,`StringFormat` 在 WPF 中的用法与 C# 中 `string.Format` 的用法非常相似,只是在语法上稍有不同。熟练掌握这些格式化技巧,可以帮助开发者更加高效地进行 UI 设计和数据展示工作。
此外,`@JsonFormat`还支持时区设置,例如`timezone = "Asia/Shanghai"`,这将在序列化和反序列化时使用指定时区。 除了日期时间,`@JsonFormat`还可以用于控制数字的输出格式。例如,你可以设定小数点后保留的位数...
在Delphi编程环境中,`Format`与`FormatDateTime`函数是处理字符串格式化与日期时间格式化的重要工具。本文将深入解析这两个函数的功能、参数及其使用场景,旨在为Delphi开发者提供全面的理解与实践指导。 ### 一、...
当尝试将一个无法转换为日期的对象格式化时,就会抛出"Cannot format given Object as a Date"这样的错误。这个错误通常发生在试图使用日期格式化类(如`java.text.SimpleDateFormat`)来处理非日期类型的数据时。 ...
### JavaScript中的Date Format(JS日期格式化)方法详解 #### 概述 在日常的Web开发工作中,我们经常需要处理日期和时间相关的数据。JavaScript 的 `Date` 对象提供了多种方法来获取和设置日期时间,但原生 API 并...
在处理日期和时间时,我们会遇到各种格式,如YYYY-MM-DD、MM/DD/YYYY或yyyy.MM.dd G 'at' HH:mm:ss z。理解这些格式对于数据分析和日志记录至关重要。 6. **编译器与链接器的格式要求**: 编译器和链接器处理源...