Кто-нибудь знает, как преобразовать поле даты в строку в java j2me?

Мне нужно получить данные из календаря поля даты и иметь возможность отображать их в строке, а затем сохранять в хранилище записей. Я попробовал метод toString(), но после запуска у меня возникла ошибка.

        StartDate = new DateField("Start Date ", DateField.DATE);
        StartDate.setDate(Calendar.getInstance().getTime());

теперь у меня есть этот код

     public static String dateToString (long date)
    {

     Calendar c = Calendar.getInstance() ;

     c.setTime(new Date(date));
     int y = c.get(Calendar.YEAR);
     int m = c.get(Calendar.MONTH) + 1; 
     int d = c.get(Calendar.DATE);
     String t = (y<10? "0": "")+y+"-"+(m<10? "0": "")+m+"-"+(d<10?
     "0": "")+d;
     return t;  
      }

Как я могу изменить это, чтобы получить дату от Startdate и сделать это т.?

Если бы кто-нибудь мог помочь!


person user80378    schedule 20.03.2009    source источник
comment
в чем была ошибка, когда вы запустили toString()?   -  person Tobias    schedule 20.03.2009
comment
на эмиляторе появилось сообщение javax.microedition.icdui.datefield@1cb37664   -  person user80378    schedule 20.03.2009


Ответы (5)


Существует несколько примеров реализации это может помочь вам начать работу, так как ваша среда выполнения не обеспечивает полезной реализации toString.

person Hank Gay    schedule 20.03.2009

это решит вашу проблему?

...
  date = new Date();
  currentDate = new DateField("", DateField.DATE_TIME);
  currentDate.setDate(date);
  dateinstring = date.toString();
  System.out.println("Date And Time Is In String Format: "+dateinstring);
...
person Xn0vv3r    schedule 20.03.2009

Попробуйте использовать что-то вроде этого


...
   Calendar c = Calendar.getInstance() ;

   c.setTime(new Date(date));
   int y = c.get(Calendar.YEAR);
   int m = c.get(Calendar.MONTH) + 1; 
   int d = c.get(Calendar.DATE);

   Date t = c.getTime();
   String str = t.format("YY-MM-dd");
...

person Community    schedule 20.03.2009

Сначала вам нужно изменить тип параметра dateToString на Date: Public static String dateToString (Date date)

Затем после StartDate.setDate(Calendar.getInstance().getTime(); добавьте эту строку: String dateString = dateToString(StartDate.getDate());

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

С уважением,

вахью а

person Community    schedule 23.04.2009

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

общедоступная строка getDateFormat (дата в дате) {

String stDate = null;
String dd = null;
String mm = null;
String yyyy = null;
Calendar cd = Calendar.getInstance();
cd.setTime(inputDT);
int iD = cd.get( Calendar.DAY_OF_MONTH );
if (iD < 10){ dd = "0" + String.valueOf(iD); }
    else { dd = String.valueOf(iD); }
int iM = cd.get( Calendar.MONTH )+1;
    if (iM < 10){ mm = "0" + String.valueOf(iM); }
    else { mm = String.valueOf(iM); }
int iY = cd.get( Calendar.YEAR );
    yyyy = String.valueOf(iY);
stDate = yyyy+"-"+mm+"-"+dd;
return stDate;

}

чтобы получить «длинную» переменную, ставшую «Датой», используйте дату (длинную дату) из java.util.Date}

person Community    schedule 02.01.2010