android studio 日期的常用处理,时间戳,时间计算,获取每月第一天等
时间搓 获取当前时间戳
Timestamp now = new Timestamp(System.currentTimeMillis());//获取系统当前时间
Log.d("index_Fragment", "now:" + now);
//返回结果精确到毫秒。
另外一种带格式的写法
SimpleDateFormat formatter = new SimpleDateFormat ("yyyy年MM月dd日 HH:mm:ss ");
Date curDate = new Date(System.currentTimeMillis());
String str = formatter.format(curDate);
--------------------------我是分割线--------------------------------------------
日期相互加减
public class Demo {
public static void main(String[] args) throws ParseException {
String s1="2016-1-2";
String s2="2016-1-1";
DateFormat df=new SimpleDateFormat("yyyy-MM-dd");
Calendar calendar=new GregorianCalendar();
Date d1=df.parse(s1);
Date d2=df.parse(s2);
System.out.println((d1.getTime()-d2.getTime())/(60*60*1000*24));
}
}
--------------------------我是分割线--------------------------------------------
/**
* 得到本月的第一天
*/
public static String getMonthFirstDay() {
Calendar calendar = Calendar.getInstance();
calendar.set(Calendar.DAY_OF_MONTH, calendar
.getActualMinimum(Calendar.DAY_OF_MONTH));
// calendar.set( Calendar.DATE, 1);
SimpleDateFormat simpleFormate = new SimpleDateFormat("yyyy-MM-dd");
return simpleFormate.format(calendar.getTime());
}
/**
* 得到本月的最后一天
*/
public static String getMonthLastDay() {
Calendar calendar = Calendar.getInstance();
calendar.set(Calendar.DAY_OF_MONTH, calendar
.getActualMaximum(Calendar.DAY_OF_MONTH));
// calendar.set( Calendar.DATE, 1);
// calendar.roll(Calendar.DATE, - 1);
SimpleDateFormat simpleFormate = new SimpleDateFormat("yyyy-MM-dd");
return simpleFormate.format(calendar.getTime());
}
--------------------------我是分割线--------------------------------------------
日期比对
String s1 = tvEndTime.getText().toString();
String s2 = tvStartTime.getText().toString();
DateFormat df = new SimpleDateFormat("yyyy-MM-dd");
Calendar calendar = new GregorianCalendar();
Date d1 = null;
Date d2 = null;
try {
d1 = df.parse(s1);
d2 = df.parse(s2);
} catch (ParseException e) {
e.printStackTrace();
}
// 当结束如期小于开始日期的时候 把结束日期设置为开始日期
if (d1.getTime() - d2.getTime() < 0) {
tvEndTime.setText(tvStartTime.getText().toString());
d2 = d1;
}
--------------------------我是分割线--------------------------------------------
//获取当前时间 可以修改里面 展示格式
SimpleDateFormat formatter = new SimpleDateFormat("yyyy-MM-dd");
Date curDate = new Date(System.currentTimeMillis());
String str = formatter.format(curDate); //当前时间