分享
 
 
 

处理时间的一些有用的方法

王朝java/jsp·作者佚名  2006-01-09
窄屏简体版  字體: |||超大  

import java.util.*;

/**

* 处理日期相关功能的类

* <p>Copyright: 2004</p>

* @author Filippo Guan

* @version 1.1

*/

public class DateFormat implements Comparable{

//年

protected String year;

//月

protected String month;

//日

protected String day;

//小时

protected String hour;

//分钟

protected String minute;

//秒钟

protected String second;

//------------------------------------------------------------------------------

/**

* 构造一个DateFormat,值为当前系统日期/时间

*/

public DateFormat(){

// Date date = new Date();

Calendar date = Calendar.getInstance();

year = String.valueOf(date.get(Calendar.YEAR));

month = String.valueOf(date.get(Calendar.MONTH) + 1);

day = String.valueOf(date.get(Calendar.DATE));

year = StringFunction.updateZero(year, 4);

month = StringFunction.updateZero(month, 2);

day = StringFunction.updateZero(day, 2);

hour = String.valueOf(date.get(Calendar.HOUR_OF_DAY));

minute = String.valueOf(date.get(Calendar.MINUTE));

second = String.valueOf(date.get(Calendar.SECOND));

hour = StringFunction.updateZero(hour, 2);

minute = StringFunction.updateZero(minute, 2);

second = StringFunction.updateZero(second, 2);

}

/**

* 根据指定日期构造一个DateFormat,如果指定的日期不合法,则抛出一个错误信息

* @param _date 指定的日期

*/

public DateFormat(String _date){

this(_date, false);

}

public DateFormat(String _date, boolean _timeFlag){

// this();

if (_date == null) {

throw new NullPointerException();

}

String inputDate;

if (_timeFlag) {

inputDate = StringFunction.getDateTimeFormat(_date);

if (!checkDateTime(inputDate)) throw new Error("日期不合法");

}

else {

inputDate = StringFunction.getDateFormat(_date);

if (!checkDate(inputDate)) throw new Error("日期不合法");

}

year = inputDate.substring(0, 4);

month = inputDate.substring(4, 6);

day = inputDate.substring(6, 8);

if (_timeFlag) {

hour = inputDate.substring(8, 10);

minute = inputDate.substring(10, 12);

second = inputDate.substring(12, 14);

}

else {

hour = "00";

minute = "00";

second = "00";

}

}

/**

* 根据指定的日期和时间构造一个DateFormat,

* 如果指定的日期和时间不合法,则抛出一个错误信息

* @param _date 指定的日期

* @param _ho 指定的小时

* @param _mi 指定的分钟

* @param _se 指定的秒钟

*/

public DateFormat(String _date, String _ho, String _mi, String _se){

this();

if (!checkDate(_date)) throw new NullPointerException("日期不合法");

if (!checkTime(_ho, _mi, _se)) throw new NullPointerException("时间不合法");

year = _date.substring(0, 4);

month = _date.substring(4, 6);

day = _date.substring(6, 8);

hour = _ho;

minute = _mi;

second = _se;

}

public DateFormat(Date d){

Calendar date = Calendar.getInstance();

date.setTime(d);

year = String.valueOf(date.get(Calendar.YEAR));

month = String.valueOf(date.get(Calendar.MONTH) + 1);

day = String.valueOf(date.get(Calendar.DATE));

year = StringFunction.updateZero(year, 4);

month = StringFunction.updateZero(month, 2);

day = StringFunction.updateZero(day, 2);

hour = String.valueOf(date.get(Calendar.HOUR_OF_DAY));

minute = String.valueOf(date.get(Calendar.MINUTE));

second = String.valueOf(date.get(Calendar.SECOND));

hour = StringFunction.updateZero(hour, 2);

minute = StringFunction.updateZero(minute, 2);

second = StringFunction.updateZero(second, 2);

}

//------------------------------------------------------------------------------

/**

* 获取当前系统日期/时间

* @return 当前系统日期/时间

*/

public synchronized static DateFormat getCurrentDate(){

return new DateFormat();

}

//------------------------------------------------------------------------------

/**

* 设定日期,

* 如果设定的日期不合法,则抛出一个出错信息

* @param _date 设定的日期值

*/

public void setDate(String _date){

if (!checkDate(_date)) throw new NullPointerException("日期不合法");

year = _date.substring(0, 4);

month = _date.substring(4, 6);

day = _date.substring(6, 8);

}

/**

* 设定日期,

* 如果设定的日期不合法,则抛出一个错误信息

* @param _yyyy 年

* @param _mm 月

* @param _dd 日

*/

public void setDate(int _yyyy, int _mm, int _dd){

String yyyy = StringFunction.updateZero(String.valueOf( _yyyy), 4);

String mm = StringFunction.updateZero(String.valueOf(_mm), 2);

String dd = StringFunction.updateZero(String.valueOf(_dd), 2);

setDate(yyyy + mm + dd);

}

/**

* 设定时间,

* 如果设定的时间不合法,则抛出一个错误信息

* @param _ho 小时

* @param _mi 分钟

* @param _se 秒钟

*/

public void setTime(String _ho, String _mi, String _se){

if (!checkTime(_ho, _mi, _se)) return;

hour = _ho;

minute = _mi;

second = _se;

}

//------------------------------------------------------------------------------

//取出成员变量的值/以规范输出的方式取出成员变量的值

public String getYear(){

return year;

}

public String getMonth(){

return month;

}

public String getDay(){

return day;

}

public String getMonthDate(){

return year + month;

}

public String getDate(){

return year + month + day;

}

public String getHour(){

return hour;

}

public String getMinute(){

return minute;

}

public String getSecond(){

return second;

}

public String getTime(){

return hour + minute + second;

}

public String getPrintMonth(){

return year + "-" + month;

}

public String getPrintDate(){

return year + "-" + month + "-" + day;

}

public String getPrintTime(){

return hour + ":" + minute + ":" + second;

}

public String getPrintDateTime(){

return getPrintDate() + " " + getPrintTime();

}

public String getSQLDate() {

return "TO_DATE('" + getDate() + "','YYYYMMDD')";

}

//------------------------------------------------------------------------------

//

/**

* 检查日期是否合法

* @param _date 需要检查的日期

* @return 如果日期合法则为true,否则为false

*/

public synchronized static boolean checkDate(String _date){

if (_date == null) {

return false;

}

if (_date.length() < 8)

return false;

String yy = _date.substring(0, 4);

String mm = _date.substring(4, 6);

String dd = _date.substring(6, 8);

try {

int iyy = Integer.parseInt(yy);

int imm = Integer.parseInt(mm);

int idd = Integer.parseInt(dd);

if (iyy > 2050 || iyy < 1950){

return false;

}

if (imm < 1 || imm > 12) return false;

int iMaxMonthDay = Integer.parseInt(getMaxMonthDay(yy, mm));

if (idd < 1 || idd > iMaxMonthDay) return false;

return true;

}

catch (Exception e){

System.err.println(e.getMessage());

return false;

}

}

/**

* 检查日期是否合法

* @param _date 需要检查的日期

* @return 如果日期合法则为true,否则为false

*/

public synchronized static boolean checkDateTime(String _date){

if (_date == null) {

return false;

}

if (_date.length() < 14)

return false;

String yy = _date.substring(0, 4);

String mm = _date.substring(4, 6);

String dd = _date.substring(6, 8);

String ho = _date.substring(8, 10);

String mi = _date.substring(10, 12);

String se = _date.substring(12, 14);

try {

int iyy = Integer.parseInt(yy);

int imm = Integer.parseInt(mm);

int idd = Integer.parseInt(dd);

if (iyy > 2050 || iyy < 1950){

return false;

}

if (imm < 1 || imm > 12) return false;

int iMaxMonthDay = Integer.parseInt(getMaxMonthDay(yy, mm));

if (idd < 1 || idd > iMaxMonthDay) return false;

int iho = Integer.parseInt(ho);

int imi = Integer.parseInt(mi);

int ise = Integer.parseInt(se);

if (iho < 0 || iho > 24) return false;

if (imi < 0 || imi > 60) return false;

if (ise < 0 || ise > 60) return false;

return true;

}

catch (Exception e){

System.err.println(e.getMessage());

return false;

}

}

/**

* 检查时间是否合法

* @param _ho 小时

* @param _mi 分钟

* @param _se 秒钟

* @return 如果合法则为true,否则为false

*/

public static synchronized boolean checkTime(String _ho, String _mi, String _se){

try {

int iho = Integer.parseInt(_ho);

int imi = Integer.parseInt(_mi);

int ise = Integer.parseInt(_se);

if (iho < 0 || iho > 24) return false;

if (imi < 0 || imi > 60) return false;

if (ise < 0 || ise > 60) return false;

return true;

}

catch (Exception e){

System.err.println(e.getMessage());

return false;

}

}

//------------------------------------------------------------------------------

//

/**

* 获得某月的最大的天数

* @param yy 年

* @param mm 月

* @return 该月的最大天数

*/

public static synchronized String getMaxMonthDay(String yy,String mm){

Calendar cal = Calendar.getInstance();

try{

int y = Integer.parseInt(yy);

int m = Integer.parseInt(mm);

cal.set(y, m-1, 1);

}

catch(Exception e){

System.err.println( " DataFunction Exception " + e.getMessage());

}

String maxDay = String.valueOf(cal.getActualMaximum(Calendar.DAY_OF_MONTH));

return maxDay;

}

/**

* 获得某月的最大天数

* @param _yyyymm 年月

* @return 该月的最大天数

*/

public static synchronized String getMaxMonthDay(String _yyyymm){

String yy = _yyyymm.substring(0, 4);

String mm = _yyyymm.substring(4, 6);

return getMaxMonthDay(yy, mm);

}

//------------------------------------------------------------------------------

//

/**

* 得到过去的某个月

* @param _mm 向前推算的月数

* @return 该月的日期

*/

public DateFormat getPreviousMonth(int _mm){

if (_mm < 0)

return getNextMonth(-_mm);

int iyy = Integer.parseInt(year);

int imm = Integer.parseInt(month);

while (imm - _mm <= 0) {

_mm -= 12;

iyy--;

}

imm -= _mm;

String yy = String.valueOf(iyy);

String mm = String.valueOf(imm);

yy = StringFunction.updateZero(yy, 4);

mm = StringFunction.updateZero(mm, 2);

DateFormat df = new DateFormat(yy + mm + "01");

return df;

}

/**

* 得到将来的某个月

* @param _mm 向后推算的月数

* @return 该月的日期

*/

public DateFormat getNextMonth(int _mm){

if (_mm < 0)

return getPreviousMonth(-_mm);

int iyy = Integer.parseInt(year);

int imm = Integer.parseInt(month);

while (_mm + imm > 12) {

_mm -= 12;

iyy++;

}

imm += _mm;

String yy = String.valueOf(iyy);

String mm = String.valueOf(imm);

yy = StringFunction.updateZero(yy, 4);

mm = StringFunction.updateZero(mm, 2);

DateFormat df = new DateFormat(yy + mm + "01");

return df;

}

/**

* 得到上个月

* @return 该月的日期

*/

public DateFormat getPreviousMonth(){

return getPreviousMonth(1);

}

/**

* 得到下个月

* @return 该月的日期

*/

public DateFormat getNextMonth(){

return getNextMonth(1);

}

//------------------------------------------------------------------------------

//

/**

* 得到过去的某日

* @param _day 向前推算的天数

* @return 该日的日期

*/

public DateFormat getPreviousDay(int _day){

if (_day < 0)

return getNextDay(-_day);

int iyy = Integer.parseInt(year);

int imm = Integer.parseInt(month);

int idd = Integer.parseInt(day);

DateFormat df = new DateFormat();

df.setDate(iyy, imm, idd);

if (idd - _day > 0){

idd -= _day;

df.setDate(iyy, imm, idd);

}

else {

_day -= idd;

df = df.getPreviousMonth();

df.setDate(df.getMonthDate() + getMaxMonthDay(df.getMonthDate()));

df = df.getPreviousDay(_day);

}

return df;

}

/**

* 得到将来的某日

* @param _day 向后推算的天数

* @return 该日的日期

*/

public DateFormat getNextDay(int _day){

if (_day < 0)

return getPreviousDay(-_day);

int iyy = Integer.parseInt(year);

int imm = Integer.parseInt(month);

int idd = Integer.parseInt(day);

DateFormat df = new DateFormat();

df.setDate(iyy, imm, idd);

if (idd + _day <= Integer.parseInt(df.getMaxMonthDay(df.getMonthDate()))){

idd += _day;

df.setDate(iyy, imm, idd);

}

else {

_day -= Integer.parseInt(df.getMaxMonthDay(df.getMonthDate())) - idd + 1;

df = df.getNextMonth();

df.setDate(df.getMonthDate() + "01");

df = df.getNextDay(_day);

}

return df;

}

//------------------------------------------------------------------------------

//

/**

* 获得某日的过去几个月的日期

* @param _date 指定的日期

* @param _month 向前推算的月数

* @return 结果的日期

*/

public synchronized static DateFormat getPreviousMonth(String _date, int _month){

if (!DateFormat.checkDate(_date)) {

throw new NullPointerException("日期不正确");

}

return new DateFormat(_date).getPreviousMonth(_month);

}

/**

* 获得某日的将来几个月的日期

* @param _date 指定的日期

* @param _month 向后推算的日期

* @return 结果的日期

*/

public synchronized static DateFormat getNextMonth(String _date, int _month){

if (!DateFormat.checkDate(_date)) {

throw new NullPointerException("日期不正确");

}

return new DateFormat(_date).getNextMonth(_month);

}

/**

* 获得某日的过去若干天的日期

* @param _date 指定的日期

* @param _day 向前推算的日期

* @return 结果的日期

*/

public synchronized static DateFormat getPreviousDay(String _date, int _day){

if (!DateFormat.checkDate(_date)) {

throw new NullPointerException("日期不正确");

}

return new DateFormat(_date).getPreviousDay(_day);

}

/**

* 获得某日的将来若干天的日期

* @param _date 指定的日期

* @param _day 向后推算的日期

* @return 结果的日期

*/

public synchronized static DateFormat getNextDay(String _date, int _day){

return new DateFormat(_date).getNextDay(_day);

}

//------------------------------------------------------------------------------

//

/**

* 比较两个日期的前后

* @param _date1 日期1

* @param _date2 日期2

* @return 比较的结果,

* 如果>0,则_date1>_date2;=0,两个日期相等;<0,则_date1<_date2

*/

public synchronized static int compare(String _date1, String _date2){

if (!checkDate(_date1)) {

throw new NullPointerException("日期不正确");

}

if (!checkDate(_date2)) {

throw new NullPointerException("日期不正确");

}

int nDate1 = Integer.parseInt(_date1);

int nDate2 = Integer.parseInt(_date2);

return nDate1 - nDate2;

}

//------------------------------------------------------------------------------

public String toString(){

if (getHour() == null || getMinute() == null || getSecond() == null) {

return getDate();

}

return getDate() + getTime();

}

//------------------------------------------------------------------------------

public boolean equals(Object o){

if (o instanceof DateFormat) {

return toString().equals(o.toString());

}

else {

DateFormat obj = new DateFormat(o.toString(), true);

return equals(obj);

}

}

//------------------------------------------------------------------------------

/**

* 比较大小

* @param o

* @return

*/

public int compareTo(Object o){

if (o instanceof DateFormat) {

return toString().compareTo(o.toString());

}

else {

DateFormat obj = new DateFormat(o.toString(), true);

return compareTo(obj);

}

}

//------------------------------------------------------------------------------

/**

* 返回两个日期的距离天数

* @param startDate 开始日期

* @param endDate 结束日期

* @return

*/

public static long getPeriodDayCount(String startDate, String endDate){

Date d1 = new DateFormat(startDate).toDate();

Date d2 = new DateFormat(endDate).toDate();

long periodTime = d2.getTime() - d1.getTime();

return periodTime/24/60/60/1000;

}

//------------------------------------------------------------------------------

public Date toDate(){

Calendar c = Calendar.getInstance();

int iy = Integer.parseInt(getYear());

c.set(Calendar.YEAR, Integer.parseInt(getYear()));

c.set(Calendar.MONTH, Integer.parseInt(getMonth()) -1);

c.set(Calendar.DATE, Integer.parseInt(getDay()));

c.set(Calendar.HOUR_OF_DAY, Integer.parseInt(getHour()));

c.set(Calendar.MINUTE, Integer.parseInt(getMinute()));

c.set(Calendar.SECOND, Integer.parseInt(getSecond()));

return c.getTime();

}

//------------------------------------------------------------------------------

public static void main(String[] args) {

try {

System.out.println(DateFormat.getPeriodDayCount("2003-06-01","2003-06-07"));

}

catch (Exception e){

e.printStackTrace();

}

}

}

需要用到的StringFunction类

import java.util.*;

/**

* 处理字符串相关功能的类

* <p>Copyright: 2004</p>

* @author Filippo Guan

* @version 1.1

*/

public class StringFunction {

private String str;

public StringFunction(String _Str) {

str = _Str;

}

/**

* 判别两个字符串是否匹配,其中'*'代表任意长的字符串(包括0长字符串),'?'代表单字节字符

* @param _Str 传入的字串

* @return 若不匹配,则返回false

*/

public boolean like(String _Str) {

/* if (_Str.length() == 0) {

return false;

}

int i = 0;

int j = 0;

while (j < _Str.length()) {

if (i >= this.str.length()) {

return false;

}

char ch = _Str.charAt(j);

if (ch == '*') {

do {

j++;

if (j >= _Str.length()) {

return true;

}

}

while (_Str.charAt(j) == '*' ||

_Str.charAt(j) == '?');

i = this.str.indexOf(_Str.charAt(j), i);

if (i == -1) {

return false;

}

else {

i++;

j++;

}

continue;

}

else if (ch == '?') {

i++;

j++;

continue;

}

else if (ch == this.str.charAt(i)) {

i++;

j++;

}

else {

return false;

}

}

return true;

*/

return str.matches(".*" + _Str + ".*");

}

public synchronized static boolean like(String str1, String str2) {

return new StringFunction(str1).like(str2);

}

//------------------------------------------------------------------------------

//

/**

* 将字符串扩充到长度为num,如果超过长度则去除超过的部分,否则则在前补0

* @param num 指定扩充到的长度

* @return 返回的字串

*/

public String updateZero(int num) {

return updateChar(num, '0');

}

public synchronized static String updateZero(String str, int num) {

return new StringFunction(str).updateZero(num);

}

//------------------------------------------------------------------------------

//

/**

* 将字符串扩充到长度为num,如果超过长度则去除超过的部分,

* 否则则在前面不上某个字符

* @param num 指定扩充到的长度

* @param c 补上的字符

* @return 返回的字串

*/

public String updateChar(int num, char c) {

if (str.length() == num) {

return str;

}

else if (str.length() < num) {

for (int i = str.length(); i < num; i++) {

str = c + str;

}

return str;

}

else {

return str.substring(str.length() - num);

}

}

//------------------------------------------------------------------------------

//

/**

* 如果字符串不为null,那么就在两面加上"",

* 该方法一般用于书写Sql语句,其功能可以被SqlExpression中的类似方法取代

* @param s 传入的字串

* @return 返回的字串

*/

public synchronized static String setNull(String s) {

if (s != null) {

if (!s.equals("")) {

s = "'" + s + "'";

}

else {

s = null;

}

}

return s;

}

/**

* 如果字符串为"",那么就把它设为null。

* 该方法一般用于书写Sql语句中处理日期时,

* 其功能已被SqlExpression中的类似方法所取代

* @param s 传入的字串

* @return 返回的字串

*/

public synchronized static String setDateNull(String s) {

if (s != null) {

if (s.equals("")) {

s = null;

}

}

return s;

}

/**

* 将数字转换为字符串,并在的两边加上引号,

* 该方法一般用于书写Sql语句,其功能可以被SqlExpression中的类似方法取代

* @param s 传入的数字

* @return 返回的字串

*/

public synchronized static String setNull(long s) {

return "'" + String.valueOf(s) + "'";

}

/**

* 将数字转换为字符串,并在的两边加上引号,

* 该方法一般用于书写Sql语句,其功能可以被SqlExpression中的类似方法取代

* @param s 传入的数字

* @return 返回的字串

*/

public synchronized static String setNull(double s) {

return "'" + String.valueOf(s) + "'";

}

/**

* 在字符串的末尾加上换行的符号

* @param s 传入的字串

* @return 返回的字串

*/

public synchronized static String addReturn(String s) {

return s + "\n";

}

/**

* 如果字符串为空,则返回一个"&nbsp;"符号

* @param s 传入的字串

* @return 返回的字串

*/

public synchronized static String getHtmlFormat(String s) {

if (s != null) {

if (s.trim().equals("")) {

return "&nbsp;";

}

else {

return s.trim();

}

}

else {

return "&nbsp;";

}

}

//------------------------------------------------------------------------------

//

/**

* 如果传入的字符串为null,则返回一个""

* @param s 传入的字串

* @return 返回的字串

*/

public synchronized static String getStringFormat(Object o) {

if (o == null) {

return "";

}

else {

String s = o.toString();

return s.trim();

}

}

//------------------------------------------------------------------------------

//

/**

* 保证字符串可以转化为数值型,若不能则返回"0"

* @param s 传入的字串

* @return 返回的字串

*/

public synchronized static String getNumberFormat(Object o) {

if (o == null) {

return "0";

}

String s = o.toString();

try {

double dou = Double.parseDouble(s);

}

catch (Exception e) {

return "0";

}

return s;

}

public static double getDouble(Object o) {

return Double.parseDouble(getNumberFormat(o));

}

public static long getLong(Object o) {

return (long) getDouble(o);

}

public static int getInt(Object o) {

return (int) getDouble(o);

}

public static float getFloat(Object o) {

return (float) getDouble(o);

}

//------------------------------------------------------------------------------

//

/**

* 把一个字符串转换成字符串YYYYMMDD的形式

* @param _date 传入的字串

* @return 返回的字串

*/

public static synchronized String getDateFormat(String _date) {

if (_date == null) {

return "";

}

if (_date.length() == 8) {

return _date;

}

if (_date.length() > 8) {

return _date.substring(0, 4)

+ _date.substring(5, 7)

+ _date.substring(8, 10);

}

return "";

}

//------------------------------------------------------------------------------

//

/**

* 把一个字符串转换成字符串YYYYMMDDHHMISS的形式

* @param _date 传入的字串

* @return 返回的字串

*/

public static synchronized String getDateTimeFormat(String _date) {

if (_date == null) {

return "";

}

if (_date.length() == 8) {

_date += "000000";

}

if (_date.length() == 14) {

return _date;

}

if (_date.length() > 14) {

return _date.substring(0, 4)

+ _date.substring(5, 7)

+ _date.substring(8, 10)

+ _date.substring(11, 13)

+ _date.substring(14, 16)

+ _date.substring(17, 19);

}

return "";

}

//------------------------------------------------------------------------------

//

/**

* 获取一个字符串的绝对长度(如果遇到汉字字符则算两个)

* @param s 传入的字串

* @return 字串的绝对长度

*/

public static int absoluteLength(String s) {

if (s == null) {

return 0;

}

try {

return new String(s.getBytes("GB2312"), "8859_1").length();

}

catch (Exception e) {

return s.length();

}

}

//------------------------------------------------------------------------------

//

/**

* 对一个字符串的绝对长度进行拆解(如果遇到汉字字符会把它当作两个字符处理)

* @param s 传入的字串

* @param start 起始绝对位置

* @param end 终止绝对位置

* @return 返回的字串

*/

public static String absoluteSubstring(String s, int start, int end) {

if (s == null) {

return null;

}

try {

String s2 = new String(s.getBytes("GB2312"), "8859_1");

s2 = s2.substring(start, end);

return new String(s2.getBytes("8859_1"), "GB2312");

}

catch (Exception e) {

return s.substring(start, end);

}

}

/**

* 在一个字符串两边加上"-"号

* @param s 传入的字串

* @param num 加上"-"号的个数

* @return 返回的字串

*/

public static String addLine(String s, int num) {

for (int i = 0; i < num; i++) {

s = "-" + s + "-";

}

return s;

}

/**

* 扩充一个字串,使其绝对长度为指定的长度,如果过长就截断,过短就补充指定的字串

* @param str 传入的字串

* @param updateStr 填充的字串

* @param num 指定的长度

* @param flag 填补字符串的位置:true的话在前面填补、false在后面填补

* @return 返回的字串

*/

public static String updateAbsoluteLength(

String str,

String updateStr,

int num,

boolean flag) {

if (updateStr == null) {

return str;

}

if (str == null) {

str = "";

for (int i = 0; i < num; i++) {

str += updateStr;

}

return str;

}

if (absoluteLength(str) == num) {

return str;

}

else if (absoluteLength(str) < num) {

for (int i = absoluteLength(str); i < num; i++) {

if (flag) {

str = updateStr + str;

}

else {

str = str + updateStr;

}

}

return str;

}

else {

return absoluteSubstring(str, 0, absoluteLength(str) - num);

}

}

public static String updateAbsoluteLength(

String str,

String updateStr,

int num) {

return updateAbsoluteLength(str, updateStr, num, true);

}

//------------------------------------------------------------------------------

public static void main(String[] args) {

String c = new String("管振宇");

String c2 = new String("刘蓓丽");

String c3 = new String("administrator");

System.out.println(StringFunction.updateAbsoluteLength(c, "&&nbsp;", 28));

System.out.println(StringFunction.updateAbsoluteLength(c2, "&&nbsp;", 28));

System.out.println(StringFunction.updateAbsoluteLength(c3, "&&nbsp;", 28));

}

}

 
 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
2023年上半年GDP全球前十五强
 百态   2023-10-24
美众议院议长启动对拜登的弹劾调查
 百态   2023-09-13
上海、济南、武汉等多地出现不明坠落物
 探索   2023-09-06
印度或要将国名改为“巴拉特”
 百态   2023-09-06
男子为女友送行,买票不登机被捕
 百态   2023-08-20
手机地震预警功能怎么开?
 干货   2023-08-06
女子4年卖2套房花700多万做美容:不但没变美脸,面部还出现变形
 百态   2023-08-04
住户一楼被水淹 还冲来8头猪
 百态   2023-07-31
女子体内爬出大量瓜子状活虫
 百态   2023-07-25
地球连续35年收到神秘规律性信号,网友:不要回答!
 探索   2023-07-21
全球镓价格本周大涨27%
 探索   2023-07-09
钱都流向了那些不缺钱的人,苦都留给了能吃苦的人
 探索   2023-07-02
倩女手游刀客魅者强控制(强混乱强眩晕强睡眠)和对应控制抗性的关系
 百态   2020-08-20
美国5月9日最新疫情:美国确诊人数突破131万
 百态   2020-05-09
荷兰政府宣布将集体辞职
 干货   2020-04-30
倩女幽魂手游师徒任务情义春秋猜成语答案逍遥观:鹏程万里
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案神机营:射石饮羽
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案昆仑山:拔刀相助
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案天工阁:鬼斧神工
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案丝路古道:单枪匹马
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:与虎谋皮
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:李代桃僵
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:指鹿为马
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案金陵:小鸟依人
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案金陵:千金买邻
 干货   2019-11-12
 
推荐阅读
 
 
 
>>返回首頁<<
 
靜靜地坐在廢墟上,四周的荒凉一望無際,忽然覺得,淒涼也很美
© 2005- 王朝網路 版權所有