如何在Android中以类似2018年3月27日的格式查找日期
我正在尝试以Android应用程序中的2018年3月27日这样的格式从系统中获取当前日期。我已经为此写了一些,但它不起作用,因为它返回的日期像“27-012-2018”。我也尝试过像dd-mon-yyyy一样,但是它抛出了一个错误,表示不支持这种格式。我应该使用什么样的正确模式来获得理想格式的当前日期 提前谢谢 我的代码:如何在Android中以类似2018年3月27日的格式查找日期,android,date,format,android-studio-3.0,Android,Date,Format,Android Studio 3.0,我正在尝试以Android应用程序中的2018年3月27日这样的格式从系统中获取当前日期。我已经为此写了一些,但它不起作用,因为它返回的日期像“27-012-2018”。我也尝试过像dd-mon-yyyy一样,但是它抛出了一个错误,表示不支持这种格式。我应该使用什么样的正确模式来获得理想格式的当前日期 提前谢谢 我的代码: public class MainActivity extends AppCompatActivity { RelativeLayout rldj; RelativeLay
public class MainActivity extends AppCompatActivity {
RelativeLayout rldj;
RelativeLayout rlh;
RelativeLayout rlau;
RelativeLayout rldb;
RelativeLayout rlht;
RelativeLayout rlth;
RelativeLayout rltoi;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
rldj = findViewById(R.id.rldj);
rlh = findViewById(R.id.rlh);
rlau = findViewById(R.id.rlau);
rldb = findViewById(R.id.rldb);
rlht = findViewById(R.id.rlht);
rlth = findViewById(R.id.rlth);
rltoi = findViewById(R.id.rltoi);
rlh.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
Toast.makeText(MainActivity.this, getDate(), Toast.LENGTH_SHORT).show();
}
});
}
private String getDate() {
DateFormat dateFormat = new SimpleDateFormat("dd-mmm-yyyy");
Date date = new Date();
return dateFormat.format(date);
}
}
使用
dd mmm yyyy
并将
dateFormat.format(date)
替换为dateFormat.format(date).toUpperCase()
更改以下方法中的日期格式更改
private String getDate() {
DateFormat dateFormat = new SimpleDateFormat("dd-MMM-yyyy");
Date date = new Date();
return dateFormat.format(date);
}
试试这个,它会提供你想要的
private String getDate() {
DateFormat dateFormat = new SimpleDateFormat("dd-MMM-yyyy");
Date date = new Date();
return dateFormat.format(date).toLowerCase();
}
使用dd-MMM-2018对我有效,但它仍然没有返回我想要的日期,它返回的日期是2018年3月27日,我想要返回的日期是2018年3月27日。 根据您的建议,我做了一些更改,现在我完全做到了(2018年3月27日)。 谢谢大家的帮助。 以下是更新的代码:
private String getDate() {
DateFormat dateFormat = new SimpleDateFormat("dd-MMM-yyyy");
Date date = new Date();
return dateFormat.format(date).toLowerCase();
}
使用下面的方法
private String getDate()
{
android.text.format.DateFormat df = new android.text.format.DateFormat();
return (String) df.format("yyyy-MMM-dd", new java.util.Date());
}
对于日期转换,您可以使用以下代码:
public static String dateFormat(String dateStr) {
String inputFormat="dd-MM-yyyy"
String outputFormat="dd MMM yyyy"
String finalDate = "";
SimpleDateFormat inputSDF = new SimpleDateFormat(inputFormat);
SimpleDateFormat outputSDF = new SimpleDateFormat(outputFormat);
try {
Date date = inputSDF.parse(dateStr);
finalDate = outputSDF.format(date);
} catch (ParseException e) {
e.printStackTrace();
}
Log.v("ffiinalDDateeEE", "finalDate: " + finalDate);
return finalDate;
}
可能重复的,并且问题中存在抛出错误,而不是不抛出错误。。一个输入错误你在哪里传递日期?它不会返回日期为2018年3月27日吗?而且它是抛出错误,而不是没有抛出问题。。输入错误现在返回2017年3月27日。请再次检查我的代码。您好,谢谢它为我工作,但不是我想要的。它返回2018年3月27日,我想要2018年3月27日。它应该返回2018年3月27日。只需复制代码并粘贴到您的编辑器中即可。您好,谢谢它对我有用,但不是我想要的。它将于2018年3月27日返回,我想要2018年3月27日使用此getDate()。toLowerCase()