Custom Date tag
Custom Date tag: custom date based on pattern format. Default date is current day.
<CUSTOMDATE[+,-][value][scale],Pattern>
User can define the date format by customize the parameter Pattern.
Scale is only recognized within below option:
“Y” for year, “M” for month, “D” for day
Sample:
Suppose today is 16 Dec 2014
<CUSTOMDATE+1M,MMM yyyy> return as “Jan 2015”
<CUSTOMDATE-1D,ddMMyyyy> return as “15122015”
<CUSTOMDATE-2Y,dd*MMMMyyyy> return as “16*December2012”
/**
* @param input
* <CUSTOMDATE[+,-][number][scale],Pattern>
* @return custom date based on pattern format. default date is current day
*/
private String customDate(String input) {
input = input.substring(1, input.length() - 1);
String pattern = input.split(",")[1].trim();
input = input.split(",")[0].trim();
Date now = new Date();
SimpleDateFormat ft = new SimpleDateFormat(pattern);
GregorianCalendar gc = new GregorianCalendar();
gc.setTime(now);
int len = "CUSTOMDATE".length();
if (input.length() == len) {
return ft.format(now);
} else if (input.length() < len) {
return "The format you input is incorrect! Please make sure the format is <CUSTOMDATE[+,-][number][scale],Pattern>";
} else {
String math = input.substring(len, len + 1);
int value = Integer.parseInt(input.substring(len + 1,
input.length() - 1));
String scale = input.substring(input.length() - 1);
if (math.equals("-")) {
value = -value;
} else if (!math.equals("+")) {
return "Math is wrong. Can only use +/-.";
}
int field = 0;
if (scale.equalsIgnoreCase("Y")) {
field = 1;
} else if (scale.equalsIgnoreCase("M")) {
field = 2;
} else if (scale.equalsIgnoreCase("D")) {
field = 5;
}
if (field == 0) {
return "The scale is wrong. Can only use Y/M/D.";
}
gc.add(field, value);
}
return ft.format(gc.getTime());
}
Custom Date tag的更多相关文章
- Tag file
JSP 2.0 引入 Tag file ,tag file 以 tag 或 tagx 为后缀,它们可以包含其他资源文件:一个被其他文件包含的 tag file 应该以 tagf 为后缀. 如同JSP页 ...
- HTML Custom Elements (v1)
HTML Custom Elements (v1) https://developers.google.com/web/fundamentals/web-components/customelemen ...
- snakeyaml - Documentation.wiki
SnakeYAML Documentation This documentation is very brief and incomplete. Feel free to fix or improve ...
- Mybatis Generator生成数据库自带的中文注释
1.相关jar包 <!-- mybatis生成 jar包 --> <dependency> <groupId>org.mybatis.generator</g ...
- 关于 mybatis-generator自定义注释生成 使用DefaultCommentGenerator重写来完成
项目里新建表时model,mapper以及mapper.xml基本都是用Mybatis Generator(以下简称为MBG)自动生成的,但是MBG自动生成的model的注释实在有点非人类,至少中国人 ...
- Mybatis Generator的model生成中文注释,支持oracle和mysql(通过实现CommentGenerator接口的方法来实现)
自己手动实现的前提,对maven项目有基本的了解,在本地成功搭建了maven环境,可以参考我之前的文章:maven环境搭建 项目里新建表时model,mapper以及mapper.xml基本都是用My ...
- vue源码逐行注释分析+40多m的vue源码程序流程图思维导图 (diff部分待后续更新)
vue源码业余时间差不多看了一年,以前在网上找帖子,发现很多帖子很零散,都是一部分一部分说,断章的很多,所以自己下定决定一行行看,经过自己坚持与努力,现在基本看完了,差ddf那部分,因为考虑到自己要换 ...
- mybatis根据数据库表结构自动生成实体类,dao,mapper
首先, pom需要引入 <!-- mysql --> <dependency> <groupId>mysql</groupId> <artifac ...
- 腾讯发布新版前端组件框架 Omi,全面拥抱 Web Components
Omi - 合一 下一代 Web 框架,去万物糟粕,合精华为一 → https://github.com/Tencent/omi 特性 4KB 的代码尺寸,比小更小 顺势而为,顺从浏览器的发展和 AP ...
随机推荐
- Python 上传和更新函数模块到PyPI
1. update setup.py from distutils.core import setup setup( name = 'iamericnester', version = '1.4.0' ...
- win7 Android环境搭配
Eclipse环境 第一步:下载JDK http://www.oracle.com/technetwork/java/javase/downloads/jdk7-downloads-1880260.h ...
- PLSQL_性能优化系列10_Oracle Array数据组优化
2014-09-25 Created By BaoXinjian
- CE_现金模组基本概念(概念)
2014-07-12 Created By BaoXinjian
- Report_客制化Excel报表中的XLS标记(案例)
2014-06-06 Created By BaoXinjian
- webview和 内置浏览器的调用
http://blog.csdn.net/hudashi/article/details/8176298/ 一.启动android默认浏览器 在Android程序中我们可以通过发送隐式Intent来启 ...
- iphone的手势与触摸编程学习笔记
一.基本概念与理解:Cocoa Touch将触摸事件发送到正在处理的视图.触摸传达的信息包括: 触摸发生的位置 (当前位置.最近的历史位置) 触摸的阶段 (按下.移动.弹起) 轻击数量 (tapCou ...
- 处理日期时间NSDate
获取当前日期时间的代码如下: NSDate *dateToDay = [NSDate date]; NSDateFormatter *df = [[NSDateFormatter alloc] ini ...
- [ActionScript 3.0] AS3.0 给flash事件传递参数的方法
有时我们想要给flash内置的事件(比如MouseEvent)传递参数,这时我们可以用到下面的方法. import flash.events.MouseEvent; mc.addEventListen ...
- Delphi 中 paramstr 的用法及参数意义
原型 function paramstr(i:index):string 对于任何application paramstr(0)都默认代表的是应用程序的绝对路径.那 ...