import java.text.DateFormat;
import java.util.Date;
public class DateDemo {
public static void main(String[] args) {
long time = System.currentTimeMillis();
Date date = new Date(time);
System.out.println(date);
//日期
//DateFormat dateFormat = DateFormat.getDateInstance();
//可以传格式风格DateFormat.FULL,LONG,MEDIUM(默认),SHORT
DateFormat dateFormat = DateFormat.getDateTimeInstance(DateFormat.FULL,DateFormat.FULL);
//调用format方法对日期进行格式化.
String str_date = dateFormat.format(date);
System.out.println(str_date);
str_date = "2019/10/1 15:54:30";
DateFormat dateFormat1 = new SimpleDateFormat("yyyy/MM/dd hh:mm:ss");//给出格式
try{Date date1 = dateFormat1.parse(str_date);//按照格式把给的时间解析成默认格式的时间String-->Date
System.out.println(date1);
String date2 = dateFormat1.format(date1);//按照格式把默认时间格式化成给定的格式Date-->String
System.out.println(date2);
}catch (ParseException e){};//暂时空处理一下
}
}
import java.util.Calendar;
import java.util.Locale;
public class DateDemo2 {
public static void main(String[] args) {
Calendar c = Calendar.getInstance(Locale.CHINA);//指定一个常用的格式,可以不写
System.out.println(c);//打印信息中年月日相关信息都在.获取指定字段的值
int year = c.get(Calendar.YEAR);
int mouth = c.get(Calendar.MONTH)+1;//月份从0开始
int day = c.get(Calendar.DAY_OF_MONTH);
String week = getCNWeek(Calendar.DAY_OF_WEEK);//第一天是星期日
System.out.println(year+" "+mouth+" "+day+" "+week);
System.out.println(c.get(Calendar.DAY_OF_WEEK));
}
public static String getCNWeek(int i){
if(i < 0 || i > 7){
throw new RuntimeException(i+"没有对应星期");
}
String[] weeks = {"","星期天","星期一","星期二","星期三","星期四","星期五","星期六"};
return weeks[i];
}
}
/*
java.util.GregorianCalendar[time=1571641708398,areFieldsSet=true,areAllFieldsSet=true,
lenient=true,zone=sun.util.calendar.ZoneInfo[id="Asia/Shanghai",offset=28800000,
dstSavings=0,useDaylight=false,transitions=29,lastRule=null],firstDayOfWeek=1,
minimalDaysInFirstWeek=1,ERA=1,YEAR=2019,MONTH=9,WEEK_OF_YEAR=43,WEEK_OF_MONTH=4,
DAY_OF_MONTH=21,DAY_OF_YEAR=294,DAY_OF_WEEK=2,DAY_OF_WEEK_IN_MONTH=3,AM_PM=1,HOUR=3,
HOUR_OF_DAY=15,MINUTE=8,SECOND=28,MILLISECOND=398,ZONE_OFFSET=28800000,DST_OFFSET=0]
*/
求二月天数:三月的前一天就是二月的最后一天
int year;
Calendar c = Calendar.getInstance();
c.set(year,2,1);//三月1日,如果日为0 的话,是上个月的最后一天
//System.out.println(c.get(Calendar.MONTH));
//System.out.println(c.get(Calendar.DAY_OF_MONTH));
c.add(Calendar.DAY_OF_MONTH,-1);上个月的最后一天
int day = c.get(Calendar.MONTH);
System.out.println(day);