代码之家  ›  专栏  ›  技术社区  ›  Nikson

如何在单击按钮时获取当前时间?

  •  1
  • Nikson  · 技术社区  · 6 年前

    我知道我不是第一个问这个问题的人,我需要做的是当我点击一个按钮关闭当前活动时,我想显示当前时间。

    这将进行以下验证。

    1,在当前活动中,我有一个计时器,如果我选择任何时间,单击“保存”按钮,它将显示已售出的时间并关闭当前活动。

    2,如果没有从时间选择器中选择任何时间,请单击“保存”按钮以显示当前时间。

    对我来说,第一个运行良好,但第二个总是显示为空。

    计时器时间:

    mTimePicker.setOnTimeChangedListener(new TimePicker.OnTimeChangedListener() {
                @Override
                public void onTimeChanged(TimePicker timePicker, int i, int i1) {
                    int hour = i % 12;
                    mselectedTime = (String.format("%02d:%02d %s", hour == 0 ? 12 : hour, i1, i < 12 ? "AM" : "PM"));
                }
            });
    

    代码:

     mSave.setOnClickListener(new View.OnClickListener() {
                @Override
                public void onClick(View view) {
                    if(mselectedTime == "null"){
                        SimpleDateFormat dateFormat = new SimpleDateFormat("hh.mm.ss aa");
                        Toast.makeText(getApplicationContext(),"Time Is :" + dateFormat, Toast.LENGTH_LONG).show();
                    }else {
                        Toast.makeText(getApplicationContext(), mselectedTime, Toast.LENGTH_LONG).show();
                    }
                    Intent intent = new Intent(CreateAlarm.this, AlarmActivity.class);
                    startActivity(intent);
                    overridePendingTransition(R.anim.slide_out, R.anim.slide_out);
                }
            });
    

    在这里,第二个吐司显示时间,但是第一个吐司总是显示空的。 04:50 AM/PM格式 在第一次祝酒时

    有人能告诉我我在哪里犯了错误吗?

    3 回复  |  直到 6 年前
        1
  •  1
  •   AndrejH    6 年前

    在第二个祝酒词中,您需要重新获取时间,然后将其添加到祝酒词中,而不是 SimpleDateFormat . 代码如下:

    Date currentTime = Calendar.getInstance().getTime();
    SimpleDateFormat dateFormat = new SimpleDateFormat("hh.mm.ss aa");
    String output = dateFormat.format(currentTime);
    Toast.makeText(getApplicationContext(),"Time Is :" + output, Toast.LENGTH_LONG).show();
    
        2
  •  0
  •   Muhammad Ameer Hamza    6 年前

    使用日历实例可以获取当前的小时和分钟

        Calendar c;
            private int mhour;
            private int mminute;
    c = Calendar.getInstance();
    mhour = c.get(Calendar.HOUR);
    mminute = c.get(Calendar.MINUTE);
    
    // you will get current hour and minutes of device time 
    

    也可参考 this

        3
  •  0
  •   Mirza Ahmed Baig    6 年前
    DateFormat dateFormat = new SimpleDateFormat("hh.mm aa");
            String dateString = dateFormat.format(new Date()).toString();
            Toast.makeText(this,"Current time :"+ dateString,Toast.LENGTH_LONG).show();
    

    而且你可能导入了错误的软件包。

    import java.text.SimpleDateFormat;
    import java.text.DateFormat;
    import java.util.Date;