将int月份从timePicker转换为String [英] Convert int month from date timePicker to String

查看:144
本文介绍了将int月份从timePicker转换为String的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

在我的应用程序中,我想将所选月份从dateTimePicker对话框转换为字符串,最后与点击按钮时的当前月份进行比较。这是我到目前为止所尝试的。



本月







In my app, I wanted to convert the selected month from `dateTimePicker` dialog to string and finally compare with the current month when `button` is clicked. This is what I've tried so far.

For Current Month



Calendar cal=Calendar.getInstance();
   SimpleDateFormat month_date = new SimpleDateFormat("MMMM");
   String month_name = month_date.format(cal.getTime());





DateTimePicker



DateTimePicker

// I set the month in global as static
static int month;

public Dialog onCreateDialog(Bundle savedInstanceState) //display calender
       {

           final Calendar c=Calendar.getInstance();
           int year=c.get(Calendar.YEAR);
           month=c.get(Calendar.MONTH);
           int day=c.get(Calendar.DAY_OF_MONTH);
           return new DatePickerDialog(getActivity(),this,year, month,day);
       }

       public void onDateSet(DatePicker view,int year, int month, int day)
       {
           String date1=year+"-"+String.format("%02d", month+1)+"-"+String.format("%02d", day);
           date.setText(date1);
           date2= date.getText().toString();
           return ;
       }





单击按钮时,将当前月份与所选月份进行比较





When button is clicked, compare the current month with selected month

 CompareMonth.setOnClickListener(new View.OnClickListener()
            {    
                @Override
                public void onClick(View v) {
                     if(!month_name.equals(getMonthName(month)))
                {
                    Toast.makeText(getApplicationContext(),"You select the wrong month",Toast.LENGTH_LONG).show();
                    Toast.makeText(getApplicationContext(),month_arr[month],Toast.LENGTH_LONG).show();
                    return;
                }           
            });

 private String getMonthName(int monthOfYear)
    {
        Calendar c = Calendar.getInstance();
        c.set(Calendar.MONTH, monthOfYear);
        return new SimpleDateFormat("MMMM").format(c.getTime());
    }
}





即使选择的月份不是当月,也不会显示错误信息。 />


有人可以帮帮我吗?谢谢。



No error message is displayed even the select month is not the current month.

Can someone help me out ? Thanks.

推荐答案

将你的月份int值传递给这个方法然后比较..

Pass your month int value to this method and then compare..
private String getMonthName(int monthOfYear) {
    Calendar c = Calendar.getInstance();
    c.set(Calendar.MONTH, monthOfYear);
    return new SimpleDateFormat("MMMM").format(c.getTime()); 
}


这篇关于将int月份从timePicker转换为String的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆