最近公司做的項目需要為客戶匯出word,客戶需要大寫的日期格式。沒有辦法,在網上找了一篇文章可以轉換日期格式的方法。
package base.datetime;</p><p>import java.util.Calendar;<br />import java.util.Date;</p><p>/***************************************************************************************************<br /> * <b>function:</b> 日期工具類:將util.Date日期轉換成大寫日期格式<br /> * @project web<br /> * @package base.datetime<br /> * @fileName DateUtils.java<br /> * @createDate 2010-5-27 上午10:24:47<br /> */<br />public class DateUtils {<br />// 日期轉化為大小寫<br />public static String dataToUpper(Date date) {<br />Calendar ca = Calendar.getInstance();<br />ca.setTime(date);<br />int year = ca.get(Calendar.YEAR);<br />int month = ca.get(Calendar.MONTH) + 1;<br />int day = ca.get(Calendar.DAY_OF_MONTH);<br />return numToUpper(year) + "年" + monthToUppder(month) + "月" + dayToUppder(day) + "日";<br />}</p><p>/***<br /> * <b>function:</b> 將數字轉化為大寫<br /> * @createDate 2010-5-27 上午10:28:12<br /> * @param num 數字<br /> * @return 轉換後的大寫數字<br /> */<br />public static String numToUpper(int num) {<br />// String u[] = {"零","壹","貳","三","肆","伍","陸","柒","捌","玖"};<br />//String u[] = {"零", "一", "二", "三", "四", "五", "六", "七", "八", "九"};<br />String u[] = {"○", "一", "二", "三", "四", "五", "六", "七", "八", "九"};<br />char[] str = String.valueOf(num).toCharArray();<br />String rstr = "";<br />for (int i = 0; i < str.length; i++) {<br />rstr = rstr + u[Integer.parseInt(str[i] + "")];<br />}<br />return rstr;<br />}</p><p>/***<br /> * <b>function:</b> 月轉化為大寫<br /> * @createDate 2010-5-27 上午10:41:42<br /> * @param month 月份<br /> * @return 返迴轉換後大寫月份<br /> */<br />public static String monthToUppder(int month) {<br />if (month < 10) {<br />return numToUpper(month);<br />} else if (month == 10) {<br />return "十";<br />} else {<br />return "十" + numToUpper(month - 10);<br />}<br />}</p><p>/***<br /> * <b>function:</b> 日轉化為大寫<br /> * @createDate 2010-5-27 上午10:43:32<br /> * @param day 日期<br /> * @return 轉換大寫的日期格式<br /> */<br />public static String dayToUppder(int day) {<br />if (day < 20) {<br />return monthToUppder(day);<br />} else {<br />char[] str = String.valueOf(day).toCharArray();<br />if (str[1] == '0') {<br />return numToUpper(Integer.parseInt(str[0] + "")) + "十";<br />} else {<br />return numToUpper(Integer.parseInt(str[0] + "")) + "十" + numToUpper(Integer.parseInt(str[1] + ""));<br />}<br />}<br />}</p><p>public static void main(String[] args) {</p><p>System.out.println(DateUtils.dataToUpper(new Date()));<br />}<br />}