`

Spring DateFormatter &&CurrencyFormatter

 
阅读更多

  1.DateFormatter java.util.Date<---->String实现日期的格式化/解析

   

 //设置上下语言的语言环境
        LocaleContextHolder.setLocale(Locale.US);
        
        //--------测试日期格式化----------
        Date d = new Date();
        DateFormatter dateFormatter = new DateFormatter();
        //按中文格式输出日期
        System.out.println(dateFormatter.print(d, Locale.CHINESE));//2014-10-30    
        
        DefaultFormattingConversionService conversionService = new DefaultFormattingConversionService();
        //添加前面的DateFormatter
        conversionService.addFormatter(dateFormatter);
        
        System.out.println(conversionService.convert(d, String.class));//Oct 30, 2014
        
        dateFormatter.setPattern("yyyy年MM月dd日");        
        System.out.println(conversionService.convert(d, String.class));//2014年10月30日

 

 

   2.CurrencyFormatter

    java.lang.BigDecimal<---->String实现货币样式的格式化/解析

      // --------测试货币格式化-------------
        CurrencyFormatter currencyFormatter = new CurrencyFormatter();
        BigDecimal money = new BigDecimal(1234567.890);
        System.out.println(currencyFormatter.print(money, Locale.CHINA));//¥1,234,567.89
        conversionService.addFormatter(currencyFormatter);
        System.out.println(conversionService.convert(money, String.class));//$1,234,567.89   

 

public class FormatterModel {
	@NumberFormat(style=Style.NUMBER, pattern="#,###")
	private int totalCount;
	@NumberFormat(style=Style.PERCENT)
	private double discount;
	@NumberFormat(style=Style.CURRENCY)
	private double sumMoney;
	
	@DateTimeFormat(iso=ISO.DATE) 
	private Date registerDate;
	
	@DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss") 
	private Date orderDate;

    //省略getter/setter
}

@Number定义数字相关的解析/格式化元数据(通用样式、货币样式、百分数样式),参数如下:

    style用于指定样式类型,包括三种:Style.NUMBER(通用样式) Style.CURRENCY(货币样式) Style.PERCENT(百分数样式),默认Style.NUMBER

    pattern自定义样式,如patter="#,###"

 

@DateTimeFormat定义日期相关的解析/格式化元数据,参数如下:

    pattern指定解析/格式化字段数据的模式,如”yyyy-MM-dd HH:mm:ss”

iso指定解析/格式化字段数据的ISO模式,包括四种:ISO.NONE(不使用)  ISO.DATE(yyyy-MM-dd) ISO.TIME(hh:mm:ss.SSSZ)  ISO.DATE_TIME(yyyy-MM-dd hh:mm:ss.SSSZ),默认ISO.NONE

    style指定用于格式化的样式模式,默认“SS”,具体使用请参考Joda-Time类库的org.joda.time.format.DateTimeFormatforStylejavadoc

优先级: pattern 大于 iso 大于 style 

 

 

 

 

分享到:
评论

相关推荐

    JJLISO8601DateFormatter:NSISO8601DateFormatter的10倍以上快速替代产品

    JJLISO8601DateFormatter JJLISO8601DateFormatter是JJLISO8601DateFormatter的线程安全,功能完备的NSISO8601DateFormatter替代品,对于日期转换和日期转换均快10倍或更高。 字符串输入日期:快12倍以上到目前为止...

    swift-MGEDateFormatter日期和字符串双向转换

    当需要将这个时间间隔转换成人类可读的格式,例如"2022-11-01"这样的日期字符串,就需要用到`DateFormatter`。`MGEDateFormatter`库扩展了`DateFormatter`,提供了一种简洁的API来实现这个转换。通常,你只需要创建...

    Java使用DateFormatter格式化日期时间的方法示例

    在Java编程中,日期和时间的格式化是一个常见的需求,尤其是在处理用户界面展示或者数据存储时。`java.time`包是自Java 8开始引入的一个新特性,它提供了更加强大和灵活的方式来处理日期、时间和时区。...

    dateformatter

    标题"dateformatter"提示我们关注的是一个用于处理日期格式化的工具或库,可能是JavaScript的一个实现。描述中的“需要下划线.js”可能意味着这个工具或者函数使用了JavaScript的下划线库(_),这是一个常见的实用...

    Spring注入Date类型的三种方法总结

    -- 测试Bean --&gt; &lt;bean id="datebean" class="com.springDemo1.Date类型注入.DateBean"&gt; &lt;property name="birthday" value="2015-12-31" /&gt; &lt;/bean&gt; &lt;/beans&gt; 方式3:使用SpEL表达式注入Date对象...

    DateFormatter:Swift SQL Parser演示

    在Swift编程语言中,`DateFormatter`是一个至关重要的类,用于将日期和时间字符串与实际的日期和时间对象之间进行转换。它提供了丰富的功能,包括自定义格式化样式、解析不同地区和语言的日期格式,以及处理时区差异...

    深入理解Spring MVC的数据转换

    深入理解Spring MVC的数据转换 Spring MVC中的数据转换是一个非常重要的概念,它对整个Web应用程序的开发和维护产生了深远的影响。今天,我们将深入了解Spring MVC中的数据转换机制,并详细介绍相关的知识点。 一...

    SpringMVC数据格式化.docx

    Spring MVC 是一个强大的Java web开发框架,用于处理前端请求并将其转化为后端业务逻辑。在Spring MVC中,数据格式化是处理数据展示和输入的重要环节。`Converter` 和 `Formatter` 是Spring MVC提供的两种工具,它们...

    IOS获取时间戳并转化为对应格式的时间

    如果需要支持多个单独时间的格式化,可以通过创建多个`DateFormatter`实例,每个实例对应一种格式,或者使用同一个`DateFormatter`并在每次转换前改变`dateFormat`。例如,你可能需要同时处理"yyyy-MM-dd"和"HH:mm...

    Swift 的 Date、DateFormatter、DateComponents、Locale 之间的关系说明

    Swift 的 Date、DateFormatter、DateComponents、Locale 之间的关系说明 前言 理解这些类之间的关系,和这些类是干嘛的,对处理时间来说很重要 类名 说明 注意 Date 只是表示时间的一个数据,只表示时间节点...

    FLEX入门篇——日期的格式化

    var dateFormatter:DateFormatter = new DateFormatter(); dateFormatter.formatString = "yyyy-MM-dd"; var dateString:String = dateFormatter.format(myDate); ``` 在这个例子中,`formatString`属性设定了日期的...

    自定义全局类型转换器

    如果你需要对日期进行自定义格式化,可以创建一个`DateFormatter`: ```java public class CustomDateFormatter extends Formatter&lt;Date&gt; { @Override public Date parse(String text, Locale locale) throws ...

    SpringMVC数据类型转换超详细介绍

    SpringMVC自Spring 3版本开始,对数据绑定机制进行了大幅度改进,提供了更为强大和灵活的数据转换与验证功能。本文将详细介绍SpringMVC中数据类型转换的具体实现方式及其背后的工作原理。 #### 二、Spring 3之前的...

    iOS日期格式化工具类

    let dateFormatter = DateFormatter() dateFormatter.dateFormat = "yyyy-MM-dd HH:mm:ss" let currentDate = Date() // 当前日期 let formattedString = dateFormatter.string(from: currentDate) ``` 在这个例子...

    Python库 | date_formatter-0.1.0-py3-none-any.whl

    资源分类:Python库 所属语言:Python 使用前提:需要解压 资源全名:date_formatter-0.1.0-py3-none-any.whl 资源来源:官方 安装方法:https://lanzao.blog.csdn.net/article/details/101784059

    swift-时间轴微信时间新浪时间几分钟前几天前几月几号

    let dateFormatter = DateFormatter() dateFormatter.dateFormat = "MM月dd日" // 这里设置的是“月月日日”的格式 let dateString = dateFormatter.string(from: someDate) ``` 在项目JJTimerShaft-master中,可能...

    flex----组件---数据验证类

    var dateFormatter:DateFormatter = new DateFormatter(); dateFormatter.formatString = "yyyy-MM-dd"; var dateValidator:DateValidator = new DateValidator(); dateValidator.source = myDateInput; ...

    DateFormatter:根据库中提供的注释格式化请求的时间

    日期时间格式器###根据库中提供的注释格式化请求的时间,并根据可用选项返回所需的输出。### ###示例视图#### ###用法:简单易行### 导入 eclipse 工作区并将此库添加到您当前的项目中。 目前为Eclipse。...

Global site tag (gtag.js) - Google Analytics