Learn Java's Date Calendar Date operations
- 2020-04-01 04:04:35
- OfStack
This article introduces the date related operations in the Java development process. The code Shared is as follows:
package jse;
import java.io.UnsupportedEncodingException;
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Calendar;
import java.util.Date;
import java.util.Locale;
public class TestDate
{
public static void main(String[] args) throws ParseException, UnsupportedEncodingException
{
Calendar cal = Calendar.getInstance();
// cal.add(Calendar.DAY_OF_MONTH, -48);
System.out.println(dateToString(cal));
}
public static String dateToString(Date date)
{
//SimpleDateFormat = new SimpleDateFormat("y year MM month dd E HH MM minutes ss seconds ", Locale.CHINA);
//SimpleDateFormat = new SimpleDateFormat("y, M, d, E, H, M minutes and s seconds ", location.china);
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss", Locale.CHINA); // example
return sdf.format(date);
}
public static String dateToString(Calendar cal)
{
return dateToString(cal.getTime());
}
public static Calendar dateStringToCalendar(String dateStr) throws ParseException
{
// Calendar cal = Calendar.getInstance();
// cal.clear();
// cal.set(Integer.parseInt(date.substring(0, 4)), Integer.parseInt(date.substring(5, 7)) - 1,
// Integer.parseInt(date.substring(8, 10)));
// return cal;
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
Date date = sdf.parse(dateStr);
Calendar cal = Calendar.getInstance();
cal.setTime(date);
return cal;
}
public static Date dateStringToDate(String date) throws ParseException
{
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
return sdf.parse(date);
}
public static Calendar dateToCalendar(Date date)
{
Calendar c1 = Calendar.getInstance();
c1.setTime(date);
return c1;
}
public static Date CalendarToDate(Calendar cal)
{
return cal.getTime();
}
public int[] calculateDifferDay(Date d1, Date d2)
{
Calendar c1 = Calendar.getInstance();
c1.setTime(d1);
Calendar c2 = Calendar.getInstance();
c1.setTime(d2);
return calculateDifferDay(c1, c2);
}
public int[] calculateDifferDay(Calendar c1, Calendar c2)
{
int[] p1 = { c1.get(Calendar.YEAR), c1.get(Calendar.MONTH), c1.get(Calendar.DAY_OF_MONTH) };
int[] p2 = { c2.get(Calendar.YEAR), c2.get(Calendar.MONTH), c2.get(Calendar.DAY_OF_MONTH) };
System.out.println("p1[0]=" + p1[0] + " p1[1]=" + p1[1] + " p1[2]=" + p1[2]);
System.out.println("p2[0]=" + p2[0] + " p2[1]=" + p2[1] + " p2[2]=" + p2[2]);
int year = p2[0] - p1[0];
int month = (p2[0] * 12) + p2[1] - ((p1[0] * 12) + p1[1]);
int day = (int) ((c2.getTimeInMillis() - c1.getTimeInMillis()) / (24 * 60 * 60 * 1000));
return new int[] { year, month, day };
}
public static Calendar getLastDayOfWeek(Calendar c)
{
//SimpleDateFormat 2 = new SimpleDateFormat("y, M, d, E, H, M minutes and s seconds ", location.china);
//Println (" current time :" + format2. Format (c.formattime ()));
c.set(Calendar.DAY_OF_WEEK, Calendar.MONDAY);
//Println (" Monday time :" + format2. Format (c.formattime ()));
return c;
}
public static Calendar addOrDecreaseDay(Calendar c, int day)
{
c.add(Calendar.DAY_OF_MONTH, day);
return c;
}
public static int getLastDayOfMonth(int year, int month)
{
Calendar c = Calendar.getInstance();
c.set(year, month - 1, 1);
return c.getActualMaximum(Calendar.DAY_OF_MONTH);
}
public static int getLastDayOfMonth(Calendar cal)
{
return cal.getActualMaximum(Calendar.DAY_OF_MONTH);
}
}