Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/date/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何在Android中以类似2018年3月27日的格式查找日期_Android_Date_Format_Android Studio 3.0 - Fatal编程技术网

如何在Android中以类似2018年3月27日的格式查找日期

如何在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

我正在尝试以Android应用程序中的2018年3月27日这样的格式从系统中获取当前日期。我已经为此写了一些,但它不起作用,因为它返回的日期像“27-012-2018”。我也尝试过像dd-mon-yyyy一样,但是它抛出了一个错误,表示不支持这种格式。我应该使用什么样的正确模式来获得理想格式的当前日期

提前谢谢

我的代码:

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()