SImpleDateFormat类
1.构造方法(其一)
SImpleDateFormat(String pattern ) | Constructs a new SimpleDateFormat using the specified non-localized pattern and the DateFormatSymbols and Calendar for the user’s default locale. |
直接来看pattern可以传入什么值,不需要看英文
yyyy-MM-dd | 1970-01-01 |
yyyy-MM-dd HH:mm | 1970-01-01 00:00 |
yyyy-MM-dd HH:mmZ | 1969-12-31 16:00-0800 |
yyyy-MM-dd HH:mm:ss | 1969-12-31 16:00:00 |
yyyy-MM-dd HH:mm:ss.SSSZ | 1969-12-31 16:00:00.000-0800 |
yyyy-MM-dd’T’HH:mm:ss.SSSZ | 1969-12-31T16:00:00.000-0800 |
2.Parse()方法
返回Date | parse(String text) | 指定的字符串中解析一个日期 |
Date类
构造方法
Date() |
Date(long milliseconds) |
Date date = new Date();//默认是当前时间 Wed Jun 20 23:43:20 GMT+08:00 2018
Date date = new Date(System.currentTimeMillis());//Wed Jun 20 23:43:20 GMT+08:00 2018
getTime()方法
返回long | getTime() | 返回这个日期的毫秒值 |
话不多说上代码,有注释结果。
public class MainActivity extends AppCompatActivity {
private static final String TAG = "MainActivity";
@RequiresApi(api = Build.VERSION_CODES.N)
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
SimpleDateFormat df = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
try {
Date date_start = df.parse("2018-02-01 00:00:00");//Thu Feb 01 00:00:00 GMT+08:00 2018
Date date_end = df.parse("2018-02-05 00:00:00");//Mon Feb 05 00:00:00 GMT+08:00 2018
//date_end.getTime()=1517760000000 date_start.getTime()=1517414400000
long diff = date_end.getTime() - date_start.getTime();//相差微妙级
//finial_days=4
long finial_days = diff / (1000 * 24 * 60 * 60);//转成天
} catch (ParseException e) {
e.printStackTrace();
}
}
}