我String代表一个约会.
String date_s = "2011-01-18 00:00:00.0";
Run Code Online (Sandbox Code Playgroud)
我想将它转换为a Date并以YYYY-MM-DD格式输出.
2011-01-18
我怎样才能做到这一点?
好的,根据我在下面找到的答案,这是我尝试过的东西:
String date_s = " 2011-01-18 00:00:00.0";
SimpleDateFormat dt = new SimpleDateFormat("yyyyy-mm-dd hh:mm:ss");
Date date = dt.parse(date_s);
SimpleDateFormat dt1 = new SimpleDateFormat("yyyyy-mm-dd");
System.out.println(dt1.format(date));
Run Code Online (Sandbox Code Playgroud)
但它输出02011-00-1而不是所需2011-01-18.我究竟做错了什么?
我有一个DatePickerDialog,我想只查看月和年.我该如何更改此代码?
public void chooseDate2(View v) {
new DatePickerDialog(
act.this,
d1,
dateAndTime1.get(Calendar.YEAR) + 2,
dateAndTime1.get(Calendar.MONTH),
dateAndTime1.get(Calendar.DAY_OF_MONTH)
).show();
}
private void updateLabel2() {
scadenza.setText(fmtDateAndTime.format(dateAndTime1.getTime()));
}
DatePickerDialog.OnDateSetListener d1=new DatePickerDialog.OnDateSetListener() {
public void onDateSet(DatePicker view, int year, int monthOfYear, int dayOfMonth) {
dateAndTime1.set(Calendar.YEAR, year);
dateAndTime1.set(Calendar.MONTH, monthOfYear);
dateAndTime1.set(Calendar.DAY_OF_MONTH, dayOfMonth);
updateLabel2();
}
};
Run Code Online (Sandbox Code Playgroud)
谢谢
嗨,我正在编写一个edittext,其中我想要MM/YY格式的信用卡有效期.我想要实现的算法如下:如果用户输入从2到9的任何内容.我将文本输入更改为02 /到09 /如果用户输入1,那么我等待下一个数字并检查int值月份如果小于12.这是我的代码.
@Override
public void afterTextChanged(Editable s) {
String input = s.toString();
if (s.length() == 1) {
int month = Integer.parseInt(input);
if (month > 1) {
mExpiryDate.setText("0" + mExpiryDate.getText().toString() + "/");
mExpiryDate.setSelection(mExpiryDate.getText().toString().length());
mSeperator = true;
}
}
else if (s.length() == 2) {
int month = Integer.parseInt(input);
if (month <= 12) {
mExpiryDate.setText(mExpiryDate.getText().toString() + "/");
mExpiryDate.setSelection(mExpiryDate.getText().toString().length());
mSeperator = true;
}
}
else {
}
}
Run Code Online (Sandbox Code Playgroud)
这可以正常工作,直到我按下软键返回按钮.反斜杠永远不会回头.原因是第二个if条件总是满足.我很困惑如何解决这个问题.如何处理后面的后退按钮?请帮忙.