发布网友 发布时间:2024-10-23 22:32
共4个回答
热心网友 时间:2024-10-24 04:53
经测试。。
输出结果为:二零一零年 六月十八日 星期日
以下是代码哈。。
希望能帮到你。。
import java.util.Calendar;
import java.util.Date;
import java.util.GregorianCalendar;
/**
* FormatDate 将Date对象转化为汉语String对象
* @author thinkpad
* @since 2010-07-18
*/
public class FormatDate {
/**
* 保存汉语数字的char字符数组
*/
private static char[] nums = {'零', '一', '二', '三', '四', '五', '六', '七', '八', '九', '十'};
public static void main(String[] arg) {
System.out.println(formatDate(new Date()));
}
/**
* 方法名formatDate 将Date对象转化为汉语String对象
* @param date 需要转换的Date对象
* @return 汉语时间String对象
*/
public static String formatDate(Date date) {
StringBuilder retVal = new StringBuilder();
GregorianCalendar g = new GregorianCalendar();
g.setTime(date);
retVal.append(formateYear(g.get(Calendar.YEAR)));
retVal.append("年 ");
retVal.append(formatMonthOrDayOrWeek(g.get(Calendar.MONTH)));
retVal.append("月");
retVal.append(formatMonthOrDayOrWeek(g.get(Calendar.DAY_OF_MONTH)));
retVal.append("日 星期");
int week = g.get(Calendar.DAY_OF_WEEK);
if(week == 1) {
retVal.append("日");
} else {
retVal.append(formatMonthOrDayOrWeek(week - 1));
}
return retVal.toString();
}
/**
* 方法名 将月或日或周转化为汉语String对象
* @param monthOrDay
* @return
*/
public static String formatMonthOrDayOrWeek(int monthOrDay) {
String retVal = "";
String monthOrDayStr = String.valueOf(monthOrDay);
if (monthOrDayStr.length() < 2) {
retVal += nums[monthOrDay];
} else {
if (monthOrDay > 20) {
retVal += nums[Integer.parseInt(monthOrDayStr.charAt(0) + "")];
}
retVal += nums[10];
retVal += nums[monthOrDay % 10];
}
return retVal;
}
/**
* 将年转化为汉语String对象
* @param year
* @return
*/
public static String formateYear(int year) {
String retVal = "";
String yearStr = String.valueOf(year);
for (int i = 0; i < yearStr.length(); i++) {
retVal += nums[Integer.parseInt(yearStr.charAt(i) + "")];
}
return retVal;
}
}
热心网友 时间:2024-10-24 04:50
import java.util.Date; //导包
System.out.println(new Date()); //输出的代码
但是这样输出的格式不是你所需要的中文
所以要自己通过getYear(),getDate()等方法经过格式处理后输出
热心网友 时间:2024-10-24 04:56
<script language=JavaScript>
today = new Date(); //需要导包的话记得导一下 import java.util.Date;
//存放星期数的数组
var d = new initArray("星期日","星期一","星期二","星期三","星期四","星期五","星期六");
//输出
document.write("今天是:",today.getYear(),'年',today.getMonth()+1,'月',today.getDate(),'日',d[today.getDay()]);
</script>
希望对你有所帮助,谢谢!!
热心网友 时间:2024-10-24 04:50
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Calendar;
import java.util.Date;
public class TestDate日期汉化 {
final static String dayNames[] = { "星期日", "星期一", "星期二", "星期三", "星期四", "星期五","星期六" };
public static void main(String []args) throws ParseException{
/*字符串向Date类型转换
SimpleDateFormat ssss = new SimpleDateFormat("yyyy-MM-dd");
String ddd="2008-01-22";
Date dd =ssss.parse(ddd);
System.out.println(dd.toLocaleString());
*/
System.out.println(change("2010-07-16"));
}
public static String change(String s) throws ParseException{
//传参数的格式为 2009-02-06
String k="";
String[] ss=s.split("-");
//ss[0]为年 ,ss[1]为月,ss[2]为日
for(int j=0;j<ss[0].length();j++){
switch(ss[0].charAt(j)){
case '0': k+="零";break;
case '1': k+="一";break;
case '2': k+="二";break;
case '3': k+="三";break;
case '4': k+="四";break;
case '5': k+="五";break;
case '6': k+="六";break;
case '7': k+="七";break;
case '8': k+="八";break;
case '9': k+="九";break;
}
}
k=k+"年 ";
if(ss[1].equals("01")){
k+="一";
}else if(ss[1].equals("02")){
k+="二";
}else if(ss[1].equals("03")){
k+="三";
}else if(ss[1].equals("04")){
k+="四";
}else if(ss[1].equals("05")){
k+="五";
}else if(ss[1].equals("06")){
k+="六";
}else if(ss[1].equals("07")){
k+="七";
}else if(ss[1].equals("08")){
k+="八";
}else if(ss[1].equals("09")){
k+="九";
}else if(ss[1].equals("10")){
k+="十";
}else if(ss[1].equals("11")){
k+="十一";
}else{
k+="十二";
}
k+="月";
if(ss[2].equals("01")){
k+="一";
}else if(ss[2].equals("02")){
k+="二";
}else if(ss[2].equals("03")){
k+="三";
}else if(ss[2].equals("04")){
k+="四";
}else if(ss[2].equals("05")){
k+="五";
}else if(ss[2].equals("06")){
k+="六";
}else if(ss[2].equals("07")){
k+="七";
}else if(ss[2].equals("08")){
k+="八";
}else if(ss[2].equals("09")){
k+="九";
}else if(ss[2].equals("10")){
k+="十";
}else if(ss[2].equals("11")){
k+="十一";
}else if(ss[2].equals("12")){
k+="十二";
}else if(ss[2].equals("13")){
k+="十三";
}else if(ss[2].equals("14")){
k+="十四";
}else if(ss[2].equals("15")){
k+="十五";
}else if(ss[2].equals("16")){
k+="十六";
}else if(ss[2].equals("17")){
k+="十七";
}else if(ss[2].equals("18")){
k+="十八";
}else if(ss[2].equals("19")){
k+="十九";
}else if(ss[2].equals("20")){
k+="二十";
}else if(ss[2].equals("21")){
k+="二十一";
}else if(ss[2].equals("22")){
k+="二十二";
}else if(ss[2].equals("23")){
k+="二十三";
}else if(ss[2].equals("24")){
k+="二十四";
}else if(ss[2].equals("25")){
k+="二十五";
}else if(ss[2].equals("26")){
k+="二十六";
}else if(ss[2].equals("27")){
k+="二十七";
}else if(ss[2].equals("28")){
k+="二十八";
}else if(ss[2].equals("29")){
k+="二十九";
}else if(ss[2].equals("30")){
k+="三十";
}else if(ss[2].equals("31")){
k+="三十一";
}
k+="日 ";
SimpleDateFormat ssss = new SimpleDateFormat("yyyy-MM-dd");
Date date =ssss.parse(s);
Calendar calendar = Calendar.getInstance();
calendar.setTime(date);
int dayOfWeek = calendar.get(Calendar.DAY_OF_WEEK)-1;
if(dayOfWeek <0) dayOfWeek=0;
// System.out.println(dayNames[dayOfWeek]);
k+= dayNames[dayOfWeek];
return k;
}
}