Java日期时间操作函数代码(六)

2014-11-24 02:04:06 · 作者: · 浏览: 11
ring rq, String format) {

Date currentTime = new Date();

SimpleDateFormat formatter = new SimpleDateFormat("yyyy-MM-dd");

String dateString = formatter.format(currentTime);

String s_nd = dateString.substring(0, 4); // 年份

String s_yf = dateString.substring(5, 7); // 月份

String s_rq = dateString.substring(8, 10); // 日期

String sreturn = "";

roc.util.MyChar mc = new roc.util.MyChar();

if (sdate == null || sdate.equals("") || !mc.Isdate(sdate)) { // 处理空值情况

if (nd.equals("1")) {

sreturn = s_nd;

// 处理间隔符

if (format.equals("1"))

sreturn = sreturn + "年";

else if (format.equals("2"))

sreturn = sreturn + "-";

else if (format.equals("3"))

sreturn = sreturn + "/";

else if (format.equals("5"))

sreturn = sreturn + ".";

}

// 处理月份

if (yf.equals("1")) {

sreturn = sreturn + s_yf;

if (format.equals("1"))

sreturn = sreturn + "月";

else if (format.equals("2"))

sreturn = sreturn + "-";

else if (format.equals("3"))

sreturn = sreturn + "/";

else if (format.equals("5"))

sreturn = sreturn + ".";

}

// 处理日期

if (rq.equals("1")) {

sreturn = sreturn + s_rq;

if (format.equals("1"))

sreturn = sreturn + "日";

}

} else {

// 不是空值,也是一个合法的日期值,则先将其转换为标准的时间格式

sdate = roc.util.RocDate.getOKDate(sdate);

s_nd = sdate.substring(0, 4); // 年份

s_yf = sdate.substring(5, 7); // 月份

s_rq = sdate.substring(8, 10); // 日期

if (nd.equals("1")) {

sreturn = s_nd;

// 处理间隔符

if (format.equals("1"))

sreturn = sreturn + "年";

else if (format.equals("2"))

sreturn = sreturn + "-";

else if (format.equals("3"))

sreturn = sreturn + "/";

else if (format.equals("5"))

sreturn = sreturn + ".";

}

// 处理月份

if (yf.equals("1")) {

sreturn = sreturn + s_yf;

if (format.equals("1"))

sreturn = sreturn + "月";

else if (format.equals("2"))

sreturn = sreturn + "-";

else if (format.equals("3"))

sreturn = sreturn + "/";

else if (format.equals("5"))

sreturn = sreturn + ".";

}

// 处理日期

if (rq.equals("1")) {

sreturn = sreturn + s_rq;

if (format.equals("1"))

sreturn = sreturn + "日";

}

}

return sreturn;

}

public static String getNextMonthDay(String sdate, int m) {

sdate = getOKDate(sdate);

int year = Integer.parseInt(sdate.substring(0, 4));

int month = Integer.parseInt(sdate.substring(5, 7));

month = month + m;

if (month < 0) {

month = month + 12;

year = year - 1;

} else if (month > 12) {

month = month - 12;

year = year + 1;

}

String smonth = "";

if (month < 10)

smonth = "0" + month;

else

smonth = "" + month;

return year + "-" + smonth + "-10";

}

public static String getOKDate(String sdate) {

if (sdate == null || sdate.equals(""))

return getStringDateShort();

if (!VeStr.Isdate(sdate)) {

sdate = getStringDateShort();

}

// 将“/”转换为“-”

sdate = VeStr.Replace(sdate, "/", "-");

// 如果只有8位长度,则要进行转换

if (sdate.length() == 8)

sdate = sdate.substring(0, 4) + "-" + sdate.substring(4, 6) + "-" + sdate.substring(6, 8);

SimpleDateFormat formatter = new SimpleDateFormat("yyyy-MM-dd");

ParsePosition pos = new ParsePosition(0);

Date strtodate = formatter.parse(sdate, pos);

String dateString = formatter.format(strtodate);

return dateString;

}

p