提问者:小点点

在android中,日期不是以日期格式打印的


如果我想打印这些日期,我应该怎么做? 因为使用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


共1个答案

匿名用户

您只需使用DateFormatter类。 有默认格式。 您只需实例化它,然后对它调用format,传递date

下面是文档:DateFormatter。

由于甲骨文和谷歌之间爆发了关于Java授权条款的战争,安卓系统中的日期是一个特别的拖累。 所以Java有一段时间没有更新,包括《Java 8》中包含了日期和时间的完全重写。 你现在可以在Android中使用Java 8的日期/时间,但是如果你这样做,你就会失去与旧操作系统的兼容性。