Как я могу получить текущую дату в Android?

Я написал следующий код

Date d = new Date();
CharSequence s  = DateFormat.format("MMMM d, yyyy ", d.getTime());

но спрашивает меня параметр, я хочу текущую дату в строковом формате,

как

28-Dec-2011

Так что я могу установить над TextView,

объясните немного, если вы считаете, что что-то необходимо, я новичок в разработке Android.

21 ответов


можно использовать SimpleDateFormat класс для форматирования даты в нужный формат.

просто проверьте эту ссылку, где вы получите идею для вашего примера.

например:

String dateStr = "04/05/2010"; 

SimpleDateFormat curFormater = new SimpleDateFormat("dd/MM/yyyy"); 
Date dateObj = curFormater.parse(dateStr); 
SimpleDateFormat postFormater = new SimpleDateFormat("MMMM dd, yyyy"); 

String newDateStr = postFormater.format(dateObj); 

обновление:

подробный пример здесь и здесь, Я бы предложил вам пройти через этот пример и понять концепцию класса SimpleDateFormat.

финал Решение:

Date c = Calendar.getInstance().getTime();
System.out.println("Current time => " + c);

SimpleDateFormat df = new SimpleDateFormat("dd-MMM-yyyy");
String formattedDate = df.format(c);

его простой одну строку кода для получения текущей даты в этот гггг-ММ-ДД вы можете использовать свой формат, который вы хотите :

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

Это не имеет ничего общего с android, поскольку он основан на java, поэтому вы можете использовать

private String getDateTime() { 
   DateFormat dateFormat = new SimpleDateFormat("yyyy/MM/dd HH:mm:ss");
   Date date = new Date(); 
   return dateFormat.format(date); 
}

 public String giveDate() {
    Calendar cal = Calendar.getInstance();
    SimpleDateFormat sdf = new SimpleDateFormat("EEE, MMM d, yyyy");
    return sdf.format(cal.getTime());
 }

попробуйте это,

SimpleDateFormat timeStampFormat = new SimpleDateFormat("yyyyMMddHHmmssSS");
Date myDate = new Date();
String filename = timeStampFormat.format(myDate);

работает как шарм и преобразуется в строку в качестве бонуса;)

SimpleDateFormat currentDate = new SimpleDateFormat("dd/MM/yyyy");
      Date todayDate = new Date();
    String thisDate = currentDate.format(todayDate);

CharSequence s  = DateFormat.getDateInstance().format("MMMM d, yyyy ");

сначала вам нужен экземпляр


приведенный ниже код отображает как время, так и дату

Calendar cal = Calendar.getInstance();
cal.getTime().toString();

Calendar cal = Calendar.getInstance();      
Calendar dt = Calendar.getInstance(); 
dt.clear();
dt.set(cal.get(Calendar.YEAR), cal.get(Calendar.MONTH),cal.get(Calendar.DATE)); 
return dt.getTime();        

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

/ / класс даты импорта как java.util


SimpleDateFormat df = new SimpleDateFormat("dd-MMM-yyyy");
String date = df.format(Calendar.getInstance().getTime());

простая настройка решения Пареша:

Date date = Calendar.getInstance().getTime();
SimpleDateFormat df = new SimpleDateFormat("dd-MMM-yyyy");
String formattedDate = df.format(date);

вы можете использовать следующий код, чтобы получить дату в нужном формате.

String date = String.valueOf(android.text.format.DateFormat.format("dd-MM-yyyy", new java.util.Date()));

самый простой способ получить текущую дату в текущую локаль (локаль устройства!) :

String currentDate = DateFormat.getDateInstance().format(Calendar.getInstance().getTime());

если вы хотите иметь дату в разных стилях, используйте getDateInstance(int style):

DateFormat.getDateInstance(DateFormat.FULL).format(Calendar.getInstance().getTime());

другое стили: DateFormat.LONG, DateFormat.DATE_FIELD, DateFormat.DAY_OF_YEAR_FIELD, etc. (используйте CTRL + пробел чтобы увидеть их все)

Если вам тоже нужно время:

String currentDateTime = DateFormat.getDateTimeInstance(DateFormat.DEFAULT,DateFormat.LONG).format(Calendar.getInstance().getTime());

  public static String getDateTime() {
        SimpleDateFormat simpleDateFormat = new SimpleDateFormat("MMMM dd, yyyy HH:mm:ss", Locale.getDefault());
        Date date = new Date();
        return simpleDateFormat.format(date);
    }

попробуйте с этой ссылкой кода это абсолютно правильный ответ для всех случаев на протяжении всей даты и времени. или настроить дату и время в соответствии с потребностями и требованиями приложения.

попробуйте по этой ссылке .попробуйте по этой ссылке


Я написал приложение календаря с помощью CalendarView, и это мой код:

CalendarView cal = (CalendarView) findViewById(R.id.calendar);
cal.setDate(new Date().getTime());

поле "календарь" - это мой CalendarView. Импорт:

import android.widget.CalendarView;
import java.util.Date;

у меня есть текущая дата без ошибок.


Это код, который я использовал:

             Date date = new Date();  // to get the date
             SimpleDateFormat df = new SimpleDateFormat("dd-MM-yyyy"); // getting date in this format
             String formattedDate = df.format(date.getTime());
             text.setText(formattedDate);

Я уже использовал этот:

Date What_Is_Today=Calendar.getInstance().getTime();
SimpleDateFormat Dateformat = new SimpleDateFormat("dd-MM-yyyy");
String Today=Dateformatf.format(What_Is_Today);

Toast.makeText(this,Today,Toast.LENGTH_LONG).show();

сначала я получаю время, затем я объявил простой формат даты (чтобы получить дату, например: 19-6-2018) затем я использую format для изменения даты на string.


Date c = Calendar.getInstance().getTime();
System.out.println("Current time => " + c);

SimpleDateFormat df = new SimpleDateFormat("dd-MMM-yyyy");
String formattedDate = df.format(c);

Это лучший ответ...


это код I используется:

final Calendar c = Calendar.getInstance();
year = c.get(Calendar.YEAR);
month = c.get(Calendar.MONTH);
day = c.get(Calendar.DAY_OF_MONTH);

// Set current date into textview
tvDisplayDate.setText(new StringBuilder()
    .append(month + 1).append("-") // Month is 0 based, add 1
    .append(day).append("-")
    .append(year).append("   Today is :" + thursday ) );

// Set current date into datepicker
dpResult.init(year, month, day, null);