CommDateUtil
来源:互联网 发布:sql界面 编辑:程序博客网 时间:2024/06/05 06:14
package com.glorycube.bmc.action.util;
import java.util.Date;
import java.util.HashMap;
import java.util.Map;
import java.util.Random;
import org.jdom.Element;
import com.ibm.icu.text.DecimalFormat;
import com.ibm.icu.text.NumberFormat;
import com.ibm.icu.text.SimpleDateFormat;
import java.io.IOException;
import java.io.StringReader;
import java.util.List;
import org.jdom.JDOMException;
import org.jdom.input.SAXBuilder;
import org.xml.sax.InputSource;
public class CommDateUtil {
/**
* 得到一个随机数
* @return
*/
public static String getReqSN(){
SimpleDateFormat sdf = new SimpleDateFormat("yyyyMMddHHmmss");
Random random = new Random();
NumberFormat nf = new DecimalFormat("0000000000");
String datetime = sdf.format(new Date());
int end = random.nextInt(100000000);
return datetime + nf.format(end);
}
/**
* 得到日月年 yyyymmdd
* @return
*/
public static String getdate(){
SimpleDateFormat sdf = new SimpleDateFormat("yyyyMMdd");
String datetime = sdf.format(new Date());
return datetime;
}
/**
* 得到时分秒 yyyyMMddHHmmss
* @return
*/
public static String getdatetime(){
SimpleDateFormat sdf = new SimpleDateFormat("yyyyMMddHHmmss");
String datetime = sdf.format(new Date());
datetime = datetime.substring(8, 14);
return datetime;
}
public static String setXmlValueFromMap(String strXML, Map<String, String> map) {
for (String key : map.keySet()) {
strXML = strXML.replaceAll("#" + key.trim().toUpperCase() + "#", map.get(key).trim());
}
return strXML;
}
/*
* 格式化数值,避免出现科学计数
*/
public static String doubleNumberFormat(Double value ) {
//格式化数据
NumberFormat nf = NumberFormat.getInstance();
nf.setGroupingUsed(false);
return nf.format(value);
}
/**
* 静态拼接字符串
*/
//得到xml
public static Map<String, String> getXML2Map(String retMessage){
Map<String, String> map = new HashMap<String, String>();
//得到根节点
Element rootElement = getDocument(retMessage).getRootElement();
return retData(rootElement.getChildren(),map);
}
/**
* 静态拼接字符串
*/
//积分兑换的xml 解析
public static Map<String, String> getXML2Maps(String retMessage){
Map<String, String> map = new HashMap<String, String>();
//得到根节点
Element rootElement = getDocument(retMessage).getRootElement();
return retDatas(rootElement.getChildren(),map);
}
/**
* 递归解析获取返回XML数据
* @param e <root>的子节点:<head>和<body>
* @param map
* @return
*/
public static Map<String, String> retData(List<Element> e, Map<String, String> map){
if(e.size() > 0 && e.get(0).getChildren().size()>0 ){
for(Element _e : e){
retData(_e.getChildren(),map);
}
return map;
} else {
for(Element _e : e){
map.put(_e.getName(), _e.getText());
System.out.println(_e.getName() + "<-->" + _e.getText());
}
return map;
}
}
/**
* 递归解析获取返回XML数据
* @param e <root>的子节点:<head>和<body>
* @param map
* @return
*/
public static Map<String, String> retDatas(List<Element> e, Map<String, String> map){
if(e.size() > 0 && e.get(0).getChildren().size()>0 ){
for(Element _e : e){
System.out.println("递归解析获取返回XML数据"+e.size());
retDatas(_e.getChildren(),map);
}
return map;
} else {
int i = 1;
for(Element _e : e){
if(_e.getName().equals("branchNo")|| _e.getName().equals("intrt")){
String strI = i+"";
System.out.println("递归解析获取返回XML数据"+_e.getName()+strI);// 这个是添加标示码
map.put(_e.getName()+strI, _e.getText());
System.out.println(_e.getName()+strI + "<----->" + _e.getText());
System.out.println("i++ 前"+ i);
if(_e.getName().equals("intrt")){
map.put("I", i+"");//这个是2
i=i+1;
}
System.out.println("i++ 后"+ i);
}else{
map.put(_e.getName(), _e.getText());
System.out.println(_e.getName() + "<----->" + _e.getText());
}
}
return map;
}
}
//得到document
public static org.jdom.Document getDocument(String retMessage){
SAXBuilder builder = new SAXBuilder();
org.jdom.Document document=null;
StringReader sr = new StringReader(retMessage);
InputSource is = new InputSource(sr);
try {
document = builder.build(is);
} catch (JDOMException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}
return document;
}
}
import java.util.Date;
import java.util.HashMap;
import java.util.Map;
import java.util.Random;
import org.jdom.Element;
import com.ibm.icu.text.DecimalFormat;
import com.ibm.icu.text.NumberFormat;
import com.ibm.icu.text.SimpleDateFormat;
import java.io.IOException;
import java.io.StringReader;
import java.util.List;
import org.jdom.JDOMException;
import org.jdom.input.SAXBuilder;
import org.xml.sax.InputSource;
public class CommDateUtil {
/**
* 得到一个随机数
* @return
*/
public static String getReqSN(){
SimpleDateFormat sdf = new SimpleDateFormat("yyyyMMddHHmmss");
Random random = new Random();
NumberFormat nf = new DecimalFormat("0000000000");
String datetime = sdf.format(new Date());
int end = random.nextInt(100000000);
return datetime + nf.format(end);
}
/**
* 得到日月年 yyyymmdd
* @return
*/
public static String getdate(){
SimpleDateFormat sdf = new SimpleDateFormat("yyyyMMdd");
String datetime = sdf.format(new Date());
return datetime;
}
/**
* 得到时分秒 yyyyMMddHHmmss
* @return
*/
public static String getdatetime(){
SimpleDateFormat sdf = new SimpleDateFormat("yyyyMMddHHmmss");
String datetime = sdf.format(new Date());
datetime = datetime.substring(8, 14);
return datetime;
}
public static String setXmlValueFromMap(String strXML, Map<String, String> map) {
for (String key : map.keySet()) {
strXML = strXML.replaceAll("#" + key.trim().toUpperCase() + "#", map.get(key).trim());
}
return strXML;
}
/*
* 格式化数值,避免出现科学计数
*/
public static String doubleNumberFormat(Double value ) {
//格式化数据
NumberFormat nf = NumberFormat.getInstance();
nf.setGroupingUsed(false);
return nf.format(value);
}
/**
* 静态拼接字符串
*/
//得到xml
public static Map<String, String> getXML2Map(String retMessage){
Map<String, String> map = new HashMap<String, String>();
//得到根节点
Element rootElement = getDocument(retMessage).getRootElement();
return retData(rootElement.getChildren(),map);
}
/**
* 静态拼接字符串
*/
//积分兑换的xml 解析
public static Map<String, String> getXML2Maps(String retMessage){
Map<String, String> map = new HashMap<String, String>();
//得到根节点
Element rootElement = getDocument(retMessage).getRootElement();
return retDatas(rootElement.getChildren(),map);
}
/**
* 递归解析获取返回XML数据
* @param e <root>的子节点:<head>和<body>
* @param map
* @return
*/
public static Map<String, String> retData(List<Element> e, Map<String, String> map){
if(e.size() > 0 && e.get(0).getChildren().size()>0 ){
for(Element _e : e){
retData(_e.getChildren(),map);
}
return map;
} else {
for(Element _e : e){
map.put(_e.getName(), _e.getText());
System.out.println(_e.getName() + "<-->" + _e.getText());
}
return map;
}
}
/**
* 递归解析获取返回XML数据
* @param e <root>的子节点:<head>和<body>
* @param map
* @return
*/
public static Map<String, String> retDatas(List<Element> e, Map<String, String> map){
if(e.size() > 0 && e.get(0).getChildren().size()>0 ){
for(Element _e : e){
System.out.println("递归解析获取返回XML数据"+e.size());
retDatas(_e.getChildren(),map);
}
return map;
} else {
int i = 1;
for(Element _e : e){
if(_e.getName().equals("branchNo")|| _e.getName().equals("intrt")){
String strI = i+"";
System.out.println("递归解析获取返回XML数据"+_e.getName()+strI);// 这个是添加标示码
map.put(_e.getName()+strI, _e.getText());
System.out.println(_e.getName()+strI + "<----->" + _e.getText());
System.out.println("i++ 前"+ i);
if(_e.getName().equals("intrt")){
map.put("I", i+"");//这个是2
i=i+1;
}
System.out.println("i++ 后"+ i);
}else{
map.put(_e.getName(), _e.getText());
System.out.println(_e.getName() + "<----->" + _e.getText());
}
}
return map;
}
}
//得到document
public static org.jdom.Document getDocument(String retMessage){
SAXBuilder builder = new SAXBuilder();
org.jdom.Document document=null;
StringReader sr = new StringReader(retMessage);
InputSource is = new InputSource(sr);
try {
document = builder.build(is);
} catch (JDOMException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}
return document;
}
}
0 0