【问题标题】:Count days elapsed in textview [duplicate]计算textview中经过的天数[重复]
【发布时间】:2021-03-14 03:08:45
【问题描述】:

我想计算elapsed days 并在文本视图中显示它们。我使用datepickerdialog 选择日期,从这个日期开始显示已经过去了多少天

当我按下textview 时,datepickerdialog 打开,

这是代码

public class MainActivity extends AppCompatActivity {
    TextView cal, dias;

    private String Parto;
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);

        cal = (TextView) findViewById(R.id.calen);
        dias = (TextView) findViewById(R.id.days);

        cal.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
            final Calendar calendar = Calendar.getInstance();
                DatePickerDialog datePickerDialog = new DatePickerDialog(MainActivity.this, new DatePickerDialog.OnDateSetListener() {
                    @Override
                    public void onDateSet(DatePicker view, int year, int month, int dayOfMonth) {
                        Calendar calendar1 = Calendar.getInstance();
                        calendar1.set(Calendar.YEAR,year);
                        calendar1.set(Calendar.MONTH,month);
                        calendar1.set(Calendar.DAY_OF_MONTH,dayOfMonth);
                        SimpleDateFormat simpleDateFormat = new SimpleDateFormat("dd/MM/yyyy", Locale.getDefault());
                        Date date = calendar1.getTime();
                        Parto = simpleDateFormat.format(date);
                        cal.setText(Parto);
                    }
                },calendar.get(Calendar.YEAR),calendar.get(Calendar.MONTH), calendar.get(Calendar.DAY_OF_MONTH));
                datePickerDialog.show();
            }
        });



    }

} 

我想以textview days 显示经过的天数

非常感谢

【问题讨论】:

标签: java android android-studio datepicker calendar


【解决方案1】:

试试这个

 long diff = System.currentTimeMillis() - calendar1.getTimeInMillis();

 dias.setText("" + TimeUnit.MILLISECONDS.toDays(diff));

希望这会有所帮助。随时要求澄清...

【讨论】:

  • 在极端情况下会给出错误的结果。 TimeUnit 假设一天总是 24 小时,但由于夏令时 (DST) 和其他时间异常,一天可能会长达 23 或 25 小时。
  • 更好的方法是使用现代的 java.time 类。
猜你喜欢
  • 1970-01-01
  • 2010-11-15
  • 2012-09-10
  • 1970-01-01
  • 1970-01-01
  • 2020-01-12
  • 2015-11-05
  • 1970-01-01
相关资源
最近更新 更多