Home > Back-end >  Java - I want to get the date value of the calendar java
Java - I want to get the date value of the calendar java

Time:01-28

enter image description here

Enter the title with edittext and press the calendar button to display the start and end dates in the textview, respectively. It's perfect up to here.

However, I try to store data on db using this, but I don't think I can store the date. I thought we could put the data shown in StartLabel into the variable. Is this wrong?

I want to save the start date 2022-01-28 in startdate. Likewise, I want to save the end date in enddate. But it's not saved. Help me.....

public class EventActivity extends AppCompatActivity {
    private EditText event_title;
    private TextView start_date_text;
    private ImageView start_date_btn;

    private TextView end_date_text;
    private ImageView end_date_btn;
    private Button event_save_btn;

    private String startdate, enddate;

    Calendar sCalendar = Calendar.getInstance();
    Calendar eCalendar = Calendar.getInstance();

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_event);

        start_date_text = (TextView) findViewById(R.id.start_date_text);
        end_date_text = (TextView) findViewById(R.id.end_date_text);

        event_title = (EditText) findViewById(R.id.event_title);
        start_date_btn = (ImageView) findViewById(R.id.start_date_btn);
        end_date_btn = (ImageView) findViewById(R.id.end_date_btn);
        event_save_btn = (Button) findViewById(R.id.event_save_btn);

        mTextViewResult = (TextView)findViewById(R.id.result_text);
        mTextViewResult.setMovementMethod(new ScrollingMovementMethod());

        //show start_date
        DatePickerDialog.OnDateSetListener myDatePicker1 = new DatePickerDialog.OnDateSetListener() {
            @Override
            public void onDateSet(DatePicker view, int year, int month, int dayOfMonth) {
                sCalendar.set(Calendar.YEAR, year);
                sCalendar.set(Calendar.MONTH, month);
                sCalendar.set(Calendar.DAY_OF_MONTH, dayOfMonth);
                startLabel();
            }
        };

        //show end_date 
        DatePickerDialog.OnDateSetListener myDatePicker2 = new DatePickerDialog.OnDateSetListener() {
            @Override
            public void onDateSet(DatePicker view, int year, int month, int dayOfMonth) {
                eCalendar.set(Calendar.YEAR, year);
                eCalendar.set(Calendar.MONTH, month);
                eCalendar.set(Calendar.DAY_OF_MONTH, dayOfMonth);
                endLabel();
            }
        };

        //click start calendar btn
        start_date_btn.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                new DatePickerDialog(EventActivity.this,
                        myDatePicker1,
                        sCalendar.get(Calendar.YEAR),
                        sCalendar.get(Calendar.MONTH),
                        sCalendar.get(Calendar.DAY_OF_MONTH)).show();
            }
        });

        //click end calendar btn
        end_date_btn.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                new DatePickerDialog(EventActivity.this,
                        myDatePicker2,
                        eCalendar.get(Calendar.YEAR),
                        eCalendar.get(Calendar.MONTH),
                        eCalendar.get(Calendar.DAY_OF_MONTH)).show();
            }
        });

   ..........

    }


    private void startLabel() {
        String myFormat = "yyyy-MM-dd";    //2018/11/28
        SimpleDateFormat sdf = new SimpleDateFormat(myFormat, Locale.English);

        TextView start_date_text = (TextView) findViewById(R.id.start_date_text);
        start_date_text.setText(sdf.format(sCalendar.getTime()));

        startdate = start_date_text.toString(); // for save startdate
    }

    private void endLabel() {
        String myFormat = "yyyy-MM-dd";// 2018/11/28
        SimpleDateFormat sdf = new SimpleDateFormat(myFormat, Locale.English);

        TextView end_date_text = (TextView) findViewById(R.id.end_date_text);
        end_date_text.setText(sdf.format(eCalendar.getTime()));

        enddate = end_date_text.toString(); // for save enddate

    }

................
     

CodePudding user response:

Instead of this:

private void startLabel() {
    String myFormat = "yyyy-MM-dd";    //2018/11/28
    SimpleDateFormat sdf = new SimpleDateFormat(myFormat, Locale.English);

    TextView start_date_text = (TextView) findViewById(R.id.start_date_text);
    start_date_text.setText(sdf.format(sCalendar.getTime()));

    startdate = start_date_text.toString(); // for save startdate
}

Try doing it like this:

private void startLabel() {
    String myFormat = "yyyy-MM-dd";    //2018/11/28
    SimpleDateFormat sdf = new SimpleDateFormat(myFormat, Locale.English);

    startdate = sdf.format(sCalendar.getTime()); // for save startdate

    TextView start_date_text = (TextView) findViewById(R.id.start_date_text);
    start_date_text.setText(startdate); 
}

You can do the same for the endLabel().

CodePudding user response:

Try to change it:

    startdate = start_date_text.getText.toString(); // for save startdate ```

also the same for enddate

  •  Tags:  
  • Related