import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Calendar;
import java.util.Date;
public class DateTest {
public static void main(String[] args) {
testCal();
}
public static void testDate()
{
Date d = new Date(); //生成一个当前时间点的日期对象
long now = d.getTime(); //1524734400690 返回毫秒值
System.out.println(now);
Date d2 = new Date(1524747996647L);
System.out.println(d2);
//1.毫秒值的意义:相对于1970年1月1日00时00分00秒的时间差
//2.我要手动设置一个日期,只能先去得到日期对应的毫秒值
//compareTo对比日期时间,如果d2在d之前,那么返回1;如果d2与d是同一时刻,那么返回0,否则返回-1
int delta = d.compareTo(d2);
System.out.println(delta);
}
public static void testSetTime()
{
Date d2 = new Date(1524747996647L);
System.out.println(d2);
Date d = new Date();
d.setTime(1524747996647L);
System.out.println(d);
}
public static void testCal()
{
Calendar c = Calendar.getInstance();
System.out.println(c.get(Calendar.YEAR));
System.out.println(c.get(Calendar.HOUR)); //12小时制
System.out.println(c.get(Calendar.HOUR_OF_DAY)); //24小时
System.out.println(c.get(Calendar.MONTH)); //month从0月开始, 1月:0
System.out.println(c.get(Calendar.DAY_OF_MONTH));
System.out.println(c.get(Calendar.DAY_OF_WEEK)); //从周日开始
c.set(2018, 0, 1, 23, 00, 02);
System.out.println(c.getTime()); //返回日期对象
c.set(2018, 1, 2);
System.out.println(c.getTime().getTime()); //返回毫秒值
}
public static void testAddD()
{
Calendar c = Calendar.getInstance();
//翻日历
//向前
//向后
c.add(Calendar.DAY_OF_MONTH, 2); //1:向后翻一天;-1:向前翻一天
System.out.println(c.getTime());
c.add(Calendar.DAY_OF_MONTH, 0);
System.out.println(c.getTime());
}
public static void testDateFor()
{
Calendar c = Calendar.getInstance();
//yyyy-MM-dd HH:mm:ss
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
String s = sdf.format(c.getTime());
System.out.println(s);
}
public static void testDF()
{
//2018-04-26 17:49:19
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
Date d = new Date();
try {
d = sdf.parse("2018-04-26 17:49:19");
} catch (ParseException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
System.out.println(sdf.format(d));
long asDate = d.getTime(); //获得毫秒值
Calendar c = Calendar.getInstance();
c.setTime(d);//传了一个Date对象
Calendar c2 = Calendar.getInstance();
c2.setTimeInMillis(asDate);//传了一个毫秒值
System.out.println(sdf.format(c.getTime()));
System.out.println(sdf.format(c2.getTime()));
//System.out.println(sdf.format(d));
}
}
import java.util.Date;
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Calendar;
public class CalendarTest {
public static void main(String[] args) {
testSetDate();
}
public static void testCalendar()
{
//由于Date不好用,尤其是设置时间时非常不好用,所以jdk在1.1时设计了Calendar类
Calendar c = Calendar.getInstance();
//get(int)获取日历对象对应的时间值,如年份、月、日(年里的日、月里的日、周里的日),时、分、秒
int result = c.get(Calendar.MONTH); //月份从0开始 1月:0
//Calendar.MONTH 1月从0开始算
//Calendar.DAY_OF_WEEK 从周日开始算,周日:1
//Calendar.HOUR 12小时制
//Calendar.HOUR_OF_DAY 24小时制
System.out.println(result);
}
public static void testSetCalendar()
{
Calendar c = Calendar.getInstance();
//Calendar设置时间很方便很直观
c.set(Calendar.MONTH, 0);
//Calendar转换成Date
System.out.println(c.getTime());
}
public static void testAddCalendar()
{
//给日期加一天减一天
/*Date d = new Date();
long now = d.getTime();
now = now + 1000L*60*60*24;
d.setTime(now);
System.out.println(d);*/
Calendar c = Calendar.getInstance();
c.add(Calendar.MONTH, 1);
System.out.println(c.get(Calendar.MONTH));
}
public static void testSimpleFormat()
{
//DecimalFormat
//yyyy-MM-dd HH:mm:ss
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
Date d = new Date();
String s = sdf.format(d);
System.out.println(s);
Calendar c = Calendar.getInstance();
s = sdf.format(c.getTime());
System.out.println(s);
}
public static void testSetDate()
{
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
try
{
Date d = sdf.parse("2018-04-01 13:59:59"); //格式一致
System.out.println(d);
}
catch(ParseException e)
{
e.printStackTrace();
}
}
}