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

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

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

Но задает мне параметр, мне нужна текущая дата в строковом формате,

like

28-Dec-2011

чтобы я мог установить более TextView,

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

Ответ 1

Вы можете использовать класс 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);

Ответ 2

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

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

Ответ 3

Это не связано с андроидом, поскольку он основан на Java, поэтому вы можете использовать

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

Ответ 4

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

Ответ 5

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

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

Ответ 6

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

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

Ответ 7

Работает как шарм и конвертирует в String в качестве бонуса;)

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

Ответ 8

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

//импортируем класс Date как java.util

Ответ 9

В приведенном ниже коде отображаются время и дата

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

Ответ 10

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

Ответ 11

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

Ответ 12

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

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

Ответ 13

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

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

Ответ 14

Я даю современный ответ.

java.time и ThreeTenABP

Чтобы получить текущую дату:

    LocalDate today = LocalDate.now(ZoneId.of("America/Hermosillo"));

Это дает вам объект LocalDate, который вы должны использовать для хранения даты в вашей программе. LocalDate - это дата без времени суток.

Только когда вам нужно отобразить дату для пользователя, отформатируйте ее в строку, подходящую для локали пользователя:

    DateTimeFormatter userFormatter
            = DateTimeFormatter.ofLocalizedDate(FormatStyle.LONG);
    System.out.println(today.format(userFormatter));

Когда я сегодня запускал этот фрагмент в английской локали США, вывод был:

13 июля 2019 г.

Если вы хотите, чтобы он был короче, укажите FormatStyle.MEDIUM или даже FormatStyle.SHORT. DateTimeFormatter.ofLocalizedDate использует локаль форматирования по умолчанию, поэтому дело в том, что она выдаст выходные данные, подходящие для этой локали, отличающиеся для разных локалей.

Если у вашего пользователя есть особые требования к формату вывода, используйте строку шаблона формата:

    DateTimeFormatter userFormatter = DateTimeFormatter.ofPattern(
            "d-MMM-u", Locale.forLanguageTag("ar-AE"));

13- يول -2019

Я использую и рекомендую java.time, современный Java-интерфейс даты и времени. DateFormat, SimpleDateFormat, Date и Calendar используемые в вопросе и/или во многих других ответах, плохо разработаны и давно устарели. И с java.time гораздо приятнее работать.

Вопрос: Могу ли я использовать java.time на Android?

Да, java.time прекрасно работает на старых и новых устройствах Android. Это просто требует как минимум Java 6.

  • В Java 8 и более поздних версиях, а также на более новых устройствах Android (начиная с уровня API 26) встроен современный API.
  • В Java 6 и 7 получите ThreeTen Backport, бэкпорт современных классов (ThreeTen для JSR 310; см. Ссылки внизу).
  • На (более старом) Android используйте Android-версию ThreeTen Backport. Его называют ThreeTenABP. И убедитесь, что вы импортируете классы даты и времени из org.threeten.bp с подпакетами.

связи

Ответ 15

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

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

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

Ответ 16

Calendar c = Calendar.getInstance();
int day = c.get(Calendar.DAY_OF_MONTH);
int month = c.get(Calendar.MONTH);
int year = c.get(Calendar.YEAR);
String date = day + "/" + (month + 1) + "/" + year;

Log.i("TAG", "--->" + date);

Ответ 17

 public static String getcurrentDateAndTime(){

        Date c = Calendar.getInstance().getTime();
        SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyy/MM/dd");
        String formattedDate = simpleDateFormat.format(c);
        return formattedDate;
    }

// String currentdate=  getcurrentDateAndTime();

Ответ 18

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

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 и т.д. (используйте CTRL+Space, чтобы увидеть их все)

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

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

Ответ 19

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

Ответ 20

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

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

Ответ 21

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

CalendarView cal = (CalendarView) findViewById(R.id.calendar);
cal.setDate(new Date().getTime());
Поле

'calendar' - это мой CalendarView. Импорт:

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

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

Ответ 22

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

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

Ответ 23

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

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), затем я использую формат, чтобы изменить дату на строку.

Ответ 24

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

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