如何在字符串中获取当前系统日期 - ANDROID

时间:2014-03-25 05:20:20

标签: android date

如何在Android中的字符串中获取当前日期?

我知道它可以使用

获取
Calendar c = Calendar.getInstance();
SimpleDateFormat df = new SimpleDateFormat("dd-MMM-yyyy");
String formatDate = df.format(c.getTime());

但我在2014年3月25日得到它,我想要的是25-3-2014。感谢。

10 个答案:

答案 0 :(得分:7)

试试这个..

dd-MMM-yyyy更改为dd-MM-yyyy

SimpleDateFormat df = new SimpleDateFormat("dd-MM-yyyy");
String formatDate = df.format(c.getTime());

答案 1 :(得分:1)

使用

String date = new SimpleDateFormat("yyyy-MM-dd")
                            .format(new Date());

答案 2 :(得分:1)

您为DateFormat dd-MMM-yyyy传递的内容将为您提供一个月的文字。将其更改为dd-MM-yyyy

 SimpleDateFormat sdf = new SimpleDateFormat("dd-MM-yyyy");
 String date = sdf.format(new Date(System.currentTimeMillis()));

答案 3 :(得分:1)

您应使用SimpleDateFormat("dd-MM-yyyy");的日期格式,而不是SimpleDateFormat("dd-MMM-yyyy");。以下是SimpledateFormat

的文档
SimpleDateFormat df = new SimpleDateFormat("dd-MM-yyyy");
String formatDate = df.format(c.getTime());

答案 4 :(得分:1)

简单的改变!

使用#

SimpleDateFormat df = new SimpleDateFormat("dd-MM-yyyy");

相反#

SimpleDateFormat df = new SimpleDateFormat("dd-MMM-yyyy");

答案 5 :(得分:1)

   String dateInString = "7-Jun-2013";
try {

    Date date = formatter.parse(dateInString);
    System.out.println(date);
    System.out.println(formatter.format(date));

} catch (ParseException e) {
    e.printStackTrace();
}

答案 6 :(得分:1)

Date date = new Date();
        SimpleDateFormat sdf = new SimpleDateFormat("dd-MM-yyyy");
        String formattedDate = sdf.format(date);

答案 7 :(得分:1)

这是获得愿望日期的一些格式。

                 yyyy-MM-dd 1969-12-31
                 yyyy-MM-dd 1970-01-01
           yyyy-MM-dd HH:mm 1969-12-31 16:00
           yyyy-MM-dd HH:mm 1970-01-01 00:00
          yyyy-MM-dd HH:mmZ 1969-12-31 16:00-0800
          yyyy-MM-dd HH:mmZ 1970-01-01 00:00+0000
   yyyy-MM-dd HH:mm:ss.SSSZ 1969-12-31 16:00:00.000-0800
   yyyy-MM-dd HH:mm:ss.SSSZ 1970-01-01 00:00:00.000+0000
 yyyy-MM-dd'T'HH:mm:ss.SSSZ 1969-12-31T16:00:00.000-0800
 yyyy-MM-dd'T'HH:mm:ss.SSSZ 1970-01-01T00:00:00.000+0000

答案 8 :(得分:1)

这是令人惊讶的唯一答案,它完全符合OP的要求(好的非常小巧):

SimpleDateFormat sdf = new SimpleDateFormat("dd-M-yyyy");
String formatDate = sdf.format(Calendar.getInstance().getTime());
System.out.println(formatDate);

注意,只有一个模式符号M,而不是两个!所以输出不是

25-03-2014

25-3-2014(明确要求的内容)

答案 9 :(得分:0)

try this one...


Calendar c = Calendar.getInstance();
    SimpleDateFormat df = new SimpleDateFormat("dd-MM-yyyy");
    String formatDate = df.format(c.getTime());

    System.out.print(formatDate);


if you want to change vice versa means follow below  steps..

    int selectedYear = 2013;
    int selectedDay = 20;
    int selectedMonth = 11;

    Calendar cal = Calendar.getInstance();
    cal.set(Calendar.YEAR, selectedYear);
    cal.set(Calendar.DAY_OF_MONTH, selectedDay);
    cal.set(Calendar.MONTH, selectedMonth);
    String format = new SimpleDateFormat("E, MMM d, yyyy").format(cal.getTime());


or else

DateFormat dateFormat = new SimpleDateFormat("EEE, dd MMM yyyy HH:mm:ss Z", Locale.ENGLISH);

or 

GregorianCalendar cal = new GregorianCalendar();
        int y, m, d, a;

        y = cal.get(Calendar.YEAR);
        m = cal.get(Calendar.MONTH) + 1;
        d = cal.get(Calendar.DAY_OF_MONTH);
        cal.set(_year, _month, _day);
 String format = new SimpleDateFormat("E, MMM d, yyyy").format(cal.getTime());

hope it will help you