All Downloads are FREE. Search and download functionalities are using the official Maven repository.

com.mingsoft.parser.impl.general.DateParser Maven / Gradle / Ivy

The newest version!
/**
The MIT License (MIT) * Copyright (c) 2016 铭飞科技(mingsoft.net)

 * Permission is hereby granted, free of charge, to any person obtaining a copy of
 * this software and associated documentation files (the "Software"), to deal in
 * the Software without restriction, including without limitation the rights to
 * use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of
 * the Software, and to permit persons to whom the Software is furnished to do so,
 * subject to the following conditions:

 * The above copyright notice and this permission notice shall be included in all
 * copies or substantial portions of the Software.

 * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
 * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS
 * FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR
 * COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER
 * IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
 * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
 */

package com.mingsoft.parser.impl.general;

import java.util.Date;
import java.util.regex.Matcher;
import java.util.regex.Pattern;

import com.mingsoft.parser.IParser;
import com.mingsoft.parser.IParserRegexConstant;
import com.mingsoft.util.StringUtil;

/**
 * 
 * 
 * 
 * 
 * 

* 铭飞科技 *

* *

* Copyright: Copyright (c) 2014 - 2015 *

* * @author killfen * *

* Comments:时间解析规则 *

* *

* Create Date:2015-4-27 *

* *

* Modification history: *

*/ public class DateParser extends IParser { /** * 网站路径标签,单标签,主要用于提交列表等HTML的路径到相应的action中 网站全局标签 {ms:global.url/} */ private String dateReg = "\\[field.date\\s{0,}(fmt=(.*?))?/]"; private Date date; /** * 构造标签的属性 * * @param htmlContent原HTML代码 * @param newContent替换的内容 */ public DateParser(String htmlContent,Date date) { super.htmlCotent = htmlContent; this.date = date; } /** * 构造标签的属性 * * @param htmlContent原HTML代码 * @param newContent替换的内容 * @param dateReg标签规则 */ public DateParser(String htmlContent,Date date,String dateReg) { super.htmlCotent = htmlContent; this.date = date; this.dateReg = dateReg; } /** * 构造标签的属性 * * @param htmlContent原HTML代码 * @param newContent替换的内容 */ public DateParser(String htmlContent, String newContent) { super.htmlCotent = htmlContent; super.newCotent = newContent; } @Override public String parse() { Pattern pattern = Pattern.compile(dateReg); Matcher matcher = pattern.matcher(htmlCotent); while (matcher.find()) { String date = matcher.group(); htmlCotent = htmlCotent.replace(date, date(date)); } return htmlCotent; } /** * 将时间格式转换成字符串型并改变时间的显示格式 * * @param date * 数据库中的时间 * @param htmlCotent * 读取时间格式的HTML代码 * @return 时间 */ private String date(String reg) { // 从HTML代码中取出时间的显示格式,默认为yyyy-MM-dd hh:mm:ss形式 String typeDate = IParserRegexConstant.REGEX_DATE; String fmt = parseFirst(htmlCotent,dateReg, 2); if (!StringUtil.isBlank(fmt)) { typeDate = fmt; } // 将时间转换成String型 String srtDate = IParserRegexConstant.REGEX_DATE_ERRO; if (date != null) { try { java.text.SimpleDateFormat forDate = new java.text.SimpleDateFormat(typeDate); srtDate = forDate.format(date); } catch (Exception e) { // TODO: handle exception } } return srtDate; } }




© 2015 - 2025 Weber Informatics LLC | Privacy Policy