为了账号安全,请及时绑定邮箱和手机立即绑定

如何在我从日期选择器获取的当前日期添加40周

如何在我从日期选择器获取的当前日期添加40周

翻过高山走不出你 2019-04-18 18:15:58
我有这个代码,我想添加40周到我从日期选择器获得的日期,并在40天(280天)被添加到日期选择器的日期之后获得新的日期。码:public class MainActivity extends AppCompatActivity {     DatePickerDialog picker;     EditText eText;     Button btnGet;     TextView tvw;     @Override     protected void onCreate(Bundle savedInstanceState) {         super.onCreate(savedInstanceState);         setContentView(R.layout.activity_main);         tvw=(TextView)findViewById(R.id.textView1);         eText=(EditText) findViewById(R.id.editText1);         eText.setInputType(InputType.TYPE_NULL);         eText.setOnClickListener(new View.OnClickListener() {             @Override             public void onClick(View v) {                 final Calendar cldr = Calendar.getInstance();                 int day = cldr.get(Calendar.DAY_OF_MONTH);                 int month = cldr.get(Calendar.MONTH);                 int year = cldr.get(Calendar.YEAR);                 // date picker dialog                 picker = new DatePickerDialog(MainActivity.this,                         new DatePickerDialog.OnDateSetListener() {                             @Override                             public void onDateSet(DatePicker view, int year, int monthOfYear, int dayOfMonth) {                                 eText.setText(dayOfMonth + "/" + (monthOfYear + 1) + "/" + year);                             }                         }, year, month, day);                 picker.show();             }         });         btnGet=(Button)findViewById(R.id.button1);         btnGet.setOnClickListener(new View.OnClickListener() {             @Override             public void onClick(View v) {                 tvw.setText("Selected Date: "+ eText.getText());             }         });     }}
查看完整描述

3 回答

?
Smart猫小萌

TA贡献1911条经验 获得超7个赞

Joda time是一个非常方便的库来处理这种情况。将此添加到您的项目:

dependencies {    
    compile 'joda-time:joda-time:2.10.2'}

然后你可以像这样操纵日期:

DateTime dt = DateTime.now();DateTime laterDate = dt.withYear(2020)
    .withMonthOfYear(3)
    .withDayOfMonth(14)
    .plusWeeks(40);

请记住,在JodaTimedate中对象是不可变的(这是一个非常好的主意),因此每个操作都会产生一个新对象。


查看完整回答
反对 回复 2019-05-15
  • 3 回答
  • 0 关注
  • 652 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信