根据大家的提示可以获得这样的结果,格式是“yyMMddHHmm”: public static String twoYearsTime(String fmt) { Calendar cal = new GregorianCalendar(); int year = cal.get(Calendar.YEAR)+2;//yy 直接计算年数+2 int month = cal.get(Calendar.MONTH) + 1;//MM int day = cal.get(Calendar.DATE);//dd int hour = cal.get(Calendar.HOUR_OF_DAY);//HH int minute = cal.get(Calendar.MINUTE);//mm
public static void main(String[] args) { String time = twoYearsTime("yyMMddHHmm");//预定格式为yyMMddHHmm System.out.println(time); }
Date date = new Date(); SimpleDateFormat df = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); Calendar canlandar = Calendar.getInstance(); canlandar.setTime(date); canlandar.add(canlandar.SECOND,10 ); String syncTime=df.format(canlandar.getTime()).toString(); System.out.println(syncTime);canlandar.SECOND 这个是常量,可以设置 时分秒都行,后面就是加多少了,负数就是往前算
还有这个更简单一点: public static void main(String[] args) { //String time = twoYearsTime("yyMMddHHmm"); String time = getYear(); System.out.println(time); }
public static String getYear(){ Calendar cal = Calendar.getInstance(); cal.add(0, 2); String cur = getCalendarForFormat(cal, "yyMMddHHmm");//当然这个地方有我的一个转换方法~~ return cur;
}
这个是3楼的朋友提供的方法,也非常的简单。 这个要引入新的jar import org.apache.commons.lang.time.DateUtils; public static String getYear1(){ Date curdate = DateUtils.add(new Date(), 0, 2); SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyMMddHHmm"); String s = simpleDateFormat.format(curdate); return s; }
public static void main(String[] args) { //String time = twoYearsTime("yyMMddHHmm"); //String time = getYear(); String time = getYear1(); System.out.println(time); }
上面的后两个方法有问题,现做纠正和总结。 三种解决时间运算的问题方法。 //第一种:比较麻烦啊,不过很清楚的思路 public static String twoYearsTime(String fmt) { Calendar cal = new GregorianCalendar(); int year = cal.get(Calendar.YEAR)+2;//yy int month = cal.get(Calendar.MONTH) + 1;//MM int day = cal.get(Calendar.DATE);//dd int hour = cal.get(Calendar.HOUR_OF_DAY);//HH int minute = cal.get(Calendar.MINUTE);//mm
里面的DateUtils有方法可以直接对年/月/日/时/分/秒 进行加减.. 方便又快捷..
Calendar cal = new GregorianCalendar();
int year = cal.get(Calendar.YEAR)+2;//yy 直接计算年数+2
int month = cal.get(Calendar.MONTH) + 1;//MM
int day = cal.get(Calendar.DATE);//dd
int hour = cal.get(Calendar.HOUR_OF_DAY);//HH
int minute = cal.get(Calendar.MINUTE);//mm
if (fmt.indexOf("yy") != -1) {
fmt = fmt.replaceAll("yy", String.valueOf(year).substring(2));
}
if (fmt.indexOf("MM") != -1) {
fmt = fmt.replaceAll("MM", month < 10 ? "0" + String.valueOf(month)
: String.valueOf(month));
}
if(fmt.indexOf("HH")!=-1){
fmt = fmt.replaceAll("HH", hour<10 ? "0" + String.valueOf(hour):String.valueOf(hour));
}
if (fmt.indexOf("dd") != -1) {
fmt = fmt.replaceAll("dd", day < 10 ? "0" + String.valueOf(day)
: String.valueOf(day));
}
if (fmt.indexOf("mm") != -1) {
fmt = fmt.replaceAll(
"mm",
minute < 10 ? "0" + String.valueOf(minute) : String
.valueOf(minute));
}
return fmt;
}
public static void main(String[] args) {
String time = twoYearsTime("yyMMddHHmm");//预定格式为yyMMddHHmm
System.out.println(time);
}
SimpleDateFormat df = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
Calendar canlandar = Calendar.getInstance();
canlandar.setTime(date);
canlandar.add(canlandar.SECOND,10 );
String syncTime=df.format(canlandar.getTime()).toString();
System.out.println(syncTime);canlandar.SECOND 这个是常量,可以设置 时分秒都行,后面就是加多少了,负数就是往前算
//String time = twoYearsTime("yyMMddHHmm");
String time = getYear();
System.out.println(time);
}
public static String getYear(){
Calendar cal = Calendar.getInstance();
cal.add(0, 2);
String cur = getCalendarForFormat(cal, "yyMMddHHmm");//当然这个地方有我的一个转换方法~~
return cur;
}
这个要引入新的jar
import org.apache.commons.lang.time.DateUtils; public static String getYear1(){
Date curdate = DateUtils.add(new Date(), 0, 2);
SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyMMddHHmm");
String s = simpleDateFormat.format(curdate);
return s;
}
public static void main(String[] args) {
//String time = twoYearsTime("yyMMddHHmm");
//String time = getYear();
String time = getYear1();
System.out.println(time);
}
三种解决时间运算的问题方法。 //第一种:比较麻烦啊,不过很清楚的思路
public static String twoYearsTime(String fmt) {
Calendar cal = new GregorianCalendar();
int year = cal.get(Calendar.YEAR)+2;//yy
int month = cal.get(Calendar.MONTH) + 1;//MM
int day = cal.get(Calendar.DATE);//dd
int hour = cal.get(Calendar.HOUR_OF_DAY);//HH
int minute = cal.get(Calendar.MINUTE);//mm
if (fmt.indexOf("yy") != -1) {
fmt = fmt.replaceAll("yy", String.valueOf(year).substring(2));
}
if (fmt.indexOf("MM") != -1) {
fmt = fmt.replaceAll("MM", month < 10 ? "0" + String.valueOf(month)
: String.valueOf(month));
}
if(fmt.indexOf("HH")!=-1){
fmt = fmt.replaceAll("HH", hour<10 ? "0" + String.valueOf(hour):String.valueOf(hour));
}
if (fmt.indexOf("dd") != -1) {
fmt = fmt.replaceAll("dd", day < 10 ? "0" + String.valueOf(day)
: String.valueOf(day));
}
if (fmt.indexOf("mm") != -1) {
fmt = fmt.replaceAll(
"mm",
minute < 10 ? "0" + String.valueOf(minute) : String
.valueOf(minute));
}
return fmt;
} //第二种:这个简单点,转一下你要用的格式就可以
public static String getYear(){
Calendar cal = Calendar.getInstance();
cal.add(1, 2);//上面的第一个参数应该是1,表示年份
String cur = getCalendarForFormat(cal, "yyMMddHHmm");//这个是自己写的转换格式的方法
return cur;
}
//第三种:这个也很简单,不过这个要加个jar包
//import org.apache.commons.lang.time.DateUtils;
public static String getYear1(){
Date curdate = DateUtils.add(new Date(), 1, 2); SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyMMddHHmm");
String s = simpleDateFormat.format(curdate);
return s;
}
//测试
public static void main(String[] args) {
String time = twoYearsTime("yyMMddHHmm");
String time1 = getYear();
String time2 = getYear1();
System.out.println(time);
System.out.println(time1);
System.out.println(time2);
}谢谢大家~~ok!