㈠ java如何計算日期的加減
第一種,知道日期,如2019091109144
String str=txnTime;
SimpleDateFormat sdf = new SimpleDateFormat("yyyyMMddHHmmss");//格式化輸出日期
Date dt = null;
try {
dt = sdf.parse(str);
} catch (ParseException e) {
// TODO 自動生成的 catch 塊
e.printStackTrace();
}
Calendar rightNow = Calendar.getInstance();
rightNow.setTime(dt);
rightNow.add(Calendar.YEAR,-1);//日期減1年
rightNow.add(Calendar.MONTH,3);//日期加3個月
rightNow.add(Calendar.DAY_OF_YEAR,10);//日期加10天
rightNow.add(Calendar.SECOND,60);//日期加60秒天
Date dt1=rightNow.getTime();
String reStr = sdf.format(dt1);
System.out.println(reStr);
第二種,自己獲取時間,格式化輸出計算加減
SimpleDateFormat sdf = new SimpleDateFormat("yyyyMMddHHmmss");//格式化輸出日期
Date now = new Date();
long time = 60*1000;//60秒
Date afterDate = new Date(now .getTime() + time);//60秒後的時間
Date beforeDate = new Date(now .getTime() - time);//60秒前的時間
System.out.println(sdf.format(afterDate ));
㈡ java如何進行時間加減
1.用java.util.Calender來實現
Calendar calendar=Calendar.getInstance();
calendar.setTime(new Date());
System.out.println(calendar.get(Calendar.DAY_OF_MONTH));//今天的日期
calendar.set(Calendar.DAY_OF_MONTH,calendar.get(Calendar.DAY_OF_MONTH)+1);//讓日期加1
System.out.println(calendar.get(Calendar.DATE));//加1之後的日期Top
2.用java.text.SimpleDateFormat和java.util.Date來實現
Date d=new Date();
SimpleDateFormat df=new SimpleDateFormat("yyyy-MM-dd");
System.out.println("今天的日期:"+df.format(d));
System.out.println("兩天前的日期:" + df.format(new Date(d.getTime() - 2 * 24 * 60 * 60 * 1000)));
System.out.println("三天後的日期:" + df.format(new Date(d.getTime() + 3 * 24 * 60 * 60 * 1000)));
GregorianCalendar gc=new GregorianCalendar();
gc.setTime(new Date);
gc.add(field,value);
value為正則往後,為負則往前
field取1加1年,取2加半年,取3加一季度,取4加一周
取5加一天....
㈢ java程序日歷記事本中:日歷.set(month, month-1, 1);裡面的參數是什麼意思
Calendar.get(Calendar.DAY_OF_WEEK)-1 如果沒記錯 sunday是0 周一是1 get(Calendar.DAY_OF_WEEK)對應的是1-7
月份是從0開始的set(month, month-1, 1);第一個應該是year 第二個月 第三個日
㈣ 關於java中java.util.Date(急)
這里建議用Calendar來完成,因為Calendar可以對日期進行計算。
代碼寫的比較丑,你再調整調整,俺程序員做的不是很成功。
public static String getLastMonthDay(String data)
{
SimpleDateFormat formatter = new SimpleDateFormat("yyyy-MM-dd");//設定日期
ParsePosition pos = new ParsePosition(0);
Calendar calendar=Calendar.getInstance();
calendar.setTime(formatter.parse(data,pos));
calendar.add(Calendar.MONTH, -1);//月份減1
int maxday=calendar.getActualMaximum(Calendar.DAY_OF_MONTH);//得到當前月份的最大日期
calendar.set(Calendar.DAY_OF_MONTH, maxday);
return formatter.format(calendar.getTime());
}
public static void main(String[] args)
{
System.out.println(getLastMonthDay("2014-05-03"));
System.out.println(getLastMonthDay("2013-05-03"));
System.out.println(getLastMonthDay("2014-03-01"));
}
㈤ java年月相減得出哪幾個月份
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Date;
public class Example {
public static strictfp void main(String[] args) throws ParseException {
String string = "2012/10/20";
String string2 = "2013/11/05";
String[] dates = getMonth(string, string2);
for(int i = 0 ; i <睜碰dates.length ; i++) {
System.out.print(dates[i] + " ");
}
}
@SuppressWarnings("deprecation")
private static String[] getMonth(String string, String string2) throws ParseException {
SimpleDateFormat sdf = new SimpleDateFormat("yyyy/MM/dd");
Date date1 = sdf.parse(string);
Date date2 = sdf.parse(string2);
int month = 0;
String[] months;
//假如年份相等
if(date1.getYear() == date2.getYear()) {
month = date2.getMonth() - date1.getMonth();
months = new String[month+1];
months[0] = date1.getMonth() + 1 + "月" ;
for(int i = 1; i < months.length; i++) {
months[i] = date1.getMonth() + 1 + i + "月";
}
return months;
} else {
//相差的年數乘以12是月數
month = (date2.getYear() - date1.getYear())*12 +date2.getMonth() - date1.getMonth();
months = new String[month + 1];
months[0] = date1.getMonth() + 1 + "月" ;
System.out.println(month);
for(int i = 1; i < months.length; i++) {
//這里要進行取余操作,,,,,例如 13個月會變成 1月
if((date1.getMonth() + 1 + i)%12 == 0) {
months[i] = "悉祥談12月"宴侍 ;
continue;
}
months[i] = (date1.getMonth() + 1 + i)%12 + "月";
}
return months;
}
}
}
啥也不說了....著急要分 代碼沒重構...... string2 必須比 string 要大的 這個你知己排除下拉 大哥.....求分啦~~
㈥ 用java實現日期類的加減
獲取時間後 再getTime();
獲得時間戳值,就可以進行加減了,
加減後再轉換回來就好了。
㈦ Java Date類型 減一個月怎麼做
String startDateStr = "";
String endDateStr = "";
TimeZone tzES2 = TimeZone.getTimeZone("GMT+8");
Calendar calES2 = Calendar.getInstance(tzES2);
Calendar ca = Calendar.getInstance();
Date now = ca.getTime();
DateFormat dateFormat = new SimpleDateFormat("yyyy/MM/dd");
dateFormat.setCalendar(calES2);
ca.set(Calendar.DATE, ca.getActualMinimum(Calendar.DAY_OF_MONTH));//設置當前日期為當前月的第一天
now = ca.getTime();
startDateStr = dateFormat.format(now);
ca.set(Calendar.DATE, ca.getActualMaximum(Calendar.DAY_OF_MONTH));//設置當前日期為當前月的最後一天
now = ca.getTime();
endDateStr = dateFormat.format(now);
System.out.println(startDateStr);
System.out.println(endDateStr);
ca.add(Calendar.MONTH, -1);//設置日期為當前日期加上-1個月(即減去1個月)的日期。
後面的操作同上!
㈧ java獲取上月1號
Calendar cal = Calendar.getInstance();
cal.add(Calendar.MONTH, -1);
cal.set(Calendar.DATE, 1);
System.out.println(new Date(cal.getTimeInMillis()));
月份李凱螞減孫鎮一,日哪埋期設為1
㈨ java月份相減
/**
* @param args
*/
野哪public static Integer getDiffNum(Date startMonth,Date endMonth){
Integer monthNum = 0;
Integer yearNumber = 0;
Calendar startCalendar = Calendar.getInstance();
Calendar endCalendar = Calendar.getInstance();
皮伍 startCalendar.setTime(startMonth);
endCalendar.setTime(endMonth);
yearNumber = endCalendar.get(endCalendar.YEAR) - startCalendar.get(endCalendar.YEAR);
monthNum = endCalendar.get(Calendar.MONTH) - startCalendar.get(Calendar.MONTH);
return yearNumber*12 + monthNum;
}
燃脊或
已經測試
㈩ 一個簡單問題,Java里,如何得到一個月有多少天
給你2個方案:
方案1:
1、最簡單的,就是定義一個數組,數組中[31,28,31,30.....]
2、然後取第幾個月,直接通過月份的數擾斗攜字減去1做銷激為下標來取上面的數組的數據就可以
3、2月份是特殊,所以如果取到2月份,加一個閏年判斷
方案2:直接給你上代碼吧,通過下面兩個方法,你可以取到一個月的最後一天了,再把這天的日期格式化取最後2個數字出來,就是天數了
/**
* 得到當前月的最後一天
*
* @return
*/
public static Date getLastDayOfMonth(Date date) {
Calendar c = new GregorianCalendar();
c.setTime(date);
c.set(Calendar.DAY_OF_MONTH, c.getActualMaximum(Calendar.DAY_OF_MONTH));
return toDate(c.getTime(),"yyyy-MM-dd");
}
/**
* add by chenxiaoping
*
* @字元串轉日期
* @param strDate
* 字元串緩伏的日期
* @return Date 日期
*/
public static Date toDate(Date date, String strFormat) {
Date retDate = null;
SimpleDateFormat sdf = new SimpleDateFormat(strFormat);
try {
String str = sdf.format(date);
retDate = sdf.parse(str);
} catch (ParseException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
return retDate;
}