如果我想打印这些日期,我应该怎么做? 因为使用System.out.println(startDate); System.out.println(结束日期); 给出以下输出:1595203200000 1596153600000,我想要日期作为输出
公共类MainActivity扩展AppCompatActivity{
private Button bt1;
private TextView tv1;
private Long startDate;
private Long endDate;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
bt1 = findViewById(R.id.bt1);
tv1 = findViewById(R.id.tv1);
MaterialDatePicker.Builder<Pair<Long, Long>> builder = MaterialDatePicker.Builder.dateRangePicker();
final MaterialDatePicker<Pair<Long,Long>> materialDatePicker = builder.build();
bt1.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
materialDatePicker.show(getSupportFragmentManager(),"date picker");
}
});
/*materialDatePicker.addOnPositiveButtonClickListener(new MaterialPickerOnPositiveButtonClickListener() {
@Override
public void onPositiveButtonClick(Object selection) {
tv1.setText(materialDatePicker.getHeaderText());
}
});*/
materialDatePicker.addOnPositiveButtonClickListener(new MaterialPickerOnPositiveButtonClickListener<Pair<Long, Long>>() {
@RequiresApi(api = Build.VERSION_CODES.N)
@Override
public void onPositiveButtonClick(Pair<Long, Long> selection) {
tv1.setText(materialDatePicker.getHeaderText());
startDate = selection.first;
endDate = selection.second;
System.out.println("this is start date: " + startDate);
System.out.println("this is end date " + endDate);
}
});
}
}
当前输出为:i/system.out:这是开始日期:1594598400000这是结束日期1596672000000
您只需使用DateFormatter
类。 有默认格式。 您只需实例化它,然后对它调用format
,传递date
。
下面是文档:DateFormatter。
由于甲骨文和谷歌之间爆发了关于Java授权条款的战争,安卓系统中的日期是一个特别的拖累。 所以Java有一段时间没有更新,包括《Java 8》中包含了日期和时间的完全重写。 你现在可以在Android中使用Java 8的日期/时间,但是如果你这样做,你就会失去与旧操作系统的兼容性。