MacroTools.java
3.05 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
package com.sitech.ismp.coll.busi.util;
import java.text.SimpleDateFormat;
import java.util.Date;
import java.util.HashMap;
import com.sitech.util.Formater;
public class MacroTools {
/**
* 宏替换
* @throws
* @since Ver 1.1
*/
public static String strReplaceDateMacro(String str) {
String re = "";
HashMap<String, String> hmMacro = new HashMap<String, String>();
Date dt = new Date();
SimpleDateFormat formatterYYYY = new SimpleDateFormat("yyyy");
SimpleDateFormat formatterMM = new SimpleDateFormat("MM");
SimpleDateFormat formatterDD = new SimpleDateFormat("dd");
SimpleDateFormat formatterHH = new SimpleDateFormat("HH");
SimpleDateFormat formatterMI = new SimpleDateFormat("mm");
SimpleDateFormat formatterSS = new SimpleDateFormat("ss");
String strYYYY = formatterYYYY.format(dt);
String strMM = formatterMM.format(dt);
String strDD = formatterDD.format(dt);
String strHH = formatterHH.format(dt);
String strMI = formatterMI.format(dt);
String strSS = formatterSS.format(dt);
hmMacro.put("YYYY", strYYYY);
hmMacro.put("MM", strMM);
hmMacro.put("DD", strDD);
hmMacro.put("HH", strHH);
hmMacro.put("MI", strMI);
hmMacro.put("SS", strSS);
hmMacro.put("YYYYMMDD", strYYYY + strMM + strDD);
SimpleDateFormat formatterYYYYMMDD = new SimpleDateFormat("yyyyMMdd");
SimpleDateFormat formatterMMDD = new SimpleDateFormat("MMdd");
String strYYYYMMDD_1 = formatterYYYYMMDD.format(Formater.computeDate(dt, 'd', -1));
String strYYYYMMDD_2 = formatterYYYYMMDD.format(Formater.computeDate(dt, 'd', -2));
String strYYYYMMDD_3 = formatterYYYYMMDD.format(Formater.computeDate(dt, 'd', -3));
String strYYYYMMDD_4 = formatterYYYYMMDD.format(Formater.computeDate(dt, 'd', -4));
String strYYYYMMDD_5 = formatterYYYYMMDD.format(Formater.computeDate(dt, 'd', -5));
String strMMDD_1 = formatterMMDD.format(Formater.computeDate(dt, 'd', -1));
String strMMDD_2 = formatterMMDD.format(Formater.computeDate(dt, 'd', -2));
String strMMDD_3 = formatterMMDD.format(Formater.computeDate(dt, 'd', -3));
String strMMDD_4 = formatterMMDD.format(Formater.computeDate(dt, 'd', -4));
String strMMDD_5 = formatterMMDD.format(Formater.computeDate(dt, 'd', -5));
hmMacro.put("YYYYMMDD-1D", strYYYYMMDD_1);
hmMacro.put("YYYYMMDD-2D", strYYYYMMDD_2);
hmMacro.put("YYYYMMDD-3D", strYYYYMMDD_3);
hmMacro.put("YYYYMMDD-4D", strYYYYMMDD_4);
hmMacro.put("YYYYMMDD-5D", strYYYYMMDD_5);
hmMacro.put("MMDD-1D", strMMDD_1);
hmMacro.put("MMDD-2D", strMMDD_2);
hmMacro.put("MMDD-3D", strMMDD_3);
hmMacro.put("MMDD-4D", strMMDD_4);
hmMacro.put("MMDD-5D", strMMDD_5);
re = strReplaceMacro(str, hmMacro);
return re;
}
public static String strReplaceMacro(String str, HashMap<String, String> macroMap) {
String result = str;
if (macroMap == null) {
return result;
}
for (String macroName : macroMap.keySet()) {
result = result.replaceAll("<" + macroName + ">", macroMap.get(macroName));
}
return result;
}
public static void main(String[] args) {
System.out.println(MacroTools.strReplaceDateMacro("file_<YYYYMMDD>_<YYYY>"));
}
}