Как получить полную дату в Android? - PullRequest
1 голос
/ 19 сентября 2011

Я знаю, как получить дату в Android с помощью экземпляра календаря.

 Calendar c = Calendar.getInstance();

 System.out.println("====================Date is:"+ c.get(Calendar.DATE));

Но с этим я получил только номер Даты. , , В моем заявлении я должен сделать некоторые расчеты на основе формата даты. Таким образом, если месяцы будут изменены, то этот расчет будет неправильным. Поэтому по этой причине я хочу, чтобы полная дата, которая дает месяц, год и дату текущей даты. И что делать, если я хочу сделать некоторые расчеты на основе этой даты? Например: если дата меньше двух недель, сообщение должно быть напечатано. , ,

Пожалуйста, ведите меня в этом. Спасибо.

Ответы [ 5 ]

2 голосов
/ 19 сентября 2011

Посмотрите здесь,

Date cal=Calendar.getInstance().getTime();
String date = SimpleDateFormat.getDateInstance().format(cal);

для просмотра полного формата даты SimpleDateFormat

и если вы хотите выполнить расчет на экземпляре даты, я думаю, вы должны использовать,Поле Calendar.getTimeInMillis () в эти миллисекунды выполняет вычисление.

РЕДАКТИРОВАТЬ: это форматы класса SImpleDateFormat.

String[] formats = new String[] {
  "yyyy-MM-dd",
  "yyyy-MM-dd HH:mm",
  "yyyy-MM-dd HH:mmZ",
  "yyyy-MM-dd HH:mm:ss.SSSZ",
  "yyyy-MM-dd'T'HH:mm:ss.SSSZ",
 };
for (String format : formats) {
   SimpleDateFormat sdf = new SimpleDateFormat(format, Locale.US);
   System.err.format("%30s %s\n", format, sdf.format(new Date(0)));
   sdf.setTimeZone(TimeZone.getTimeZone("UTC"));
   System.err.format("%30s %s\n", format, sdf.format(new Date(0)));
}

РЕДАКТИРОВАТЬ: разница в две даты (Отредактировано на Дата: 09/21/ 2011)

String startTime = "2011-09-19 15:00:23"; // this is your date to compare with current date 

            SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); 
            Date date1 = dateFormat.parse(startTime);

     // here I make the changes.... now Date d use a calendar's date 

           Date d = Calendar.getInstance().getTime(); // here you can use calendar beco'z date is now deprecated ..

           String systemTime =(String) DateFormat.format("yyyy-MM-dd HH:mm:ss", d.getTime());

           SimpleDateFormat df1;

           long diff = (d.getTime() - date1.getTime()) / (1000);

           int Totalmin =(int) diff / 60;
           int hours= Totalmin/60;
           int day= hours/24;
           int min = Totalmin % 60;
           int second =(int) diff % 60;


if(day < 14)
 {
  // your stuff here ... 
  Log.e("The day is within two weeks");
 }
 else
  {
   Log.e("The day is more then two weeks");
  }         

Спасибо.

1 голос
/ 19 сентября 2011

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

public static String getDate(){
    String strDate;
    Locale locale = Locale.US;
    Date date = new Date();
    strDate = DateFormat.getDateInstance(DateFormat.DEFAULT, locale).format(date);

    return strDate;
}

public static String getTime(){
    String strTime;
    Locale locale = Locale.US;
    Date date = new Date();
    strTime = DateFormat.getTimeInstance(DateFormat.DEFAULT, locale).format(date);

    return strTime;
}

Вы можете получить значение и сохранить его в строке, как показано ниже

String Date= getDate();
String Time = getTime();
1 голос
/ 19 сентября 2011

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

int month = c.get(Calendar.MONTH);
  int year = c.get(Calendar.YEAR);
  int day = c.get(Calendar.DAY_OF_MONTH);
  System.out.println("Current date : " 
  + day + "/" + (month + 1) + "/" + year);
  }
1 голос
/ 19 сентября 2011

Использование SimpleDateFormat класс,

String date = SimpleDateFormat.getDateInstance().format(new Date());
1 голос
/ 19 сентября 2011

Вы можете использовать

//try different flags for the last parameter 
DateUtils.formatDateTime(context,System.currentTimeMillis(),DateUtils.FORMAT_SHOW_DATE);

для проверки всех параметров http://developer.android.com/reference/android/text/format/DateUtils.html

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...