2011-12-28 3 views
0

У меня есть приложение для Android, в котором я хочу преобразовать свою строку в тип данных даты. Я получаю строку с помощью выбора даты в этом формате («12/30/2011»). Я хочу преобразовать его в строку в том же формате. Это мой код:Преобразование строк на сегодняшний день android

 Date dateObj = new Date(); 
     dateFormat = new SimpleDateFormat("MM/dd/yyyy"); 
     dateFormat.setLenient(false); 
     dateObj = dateFormat.parse("12/30/2011"); 
     Log.v("",""+dateObj); 

Но я получаю значение в этой форме:

ср 28 декабря 00:00:00 GMT + 05: 00 2011

+0

какой код печатать 'Wed Dec 28 00:00:00 GMT + 05: 00 2011'? – ariefbayu

+0

My log prints dateObj value as Wed Dec 28 00:00:00 GMT + 05: 00 2011 – user790514

ответ

3

Помогает ли это?

SimpleDateFormat sdf = new SimpleDateFormat(format); 
sdf.format(new Date()) 

Please have a look at this

import java.text.SimpleDateFormat; 
import java.util.Date; 


public class DateIssue { 
    public static void main(String[] args) { 
     SimpleDateFormat sdf = new SimpleDateFormat("MM/dd/yyyy"); 
     System.out.println(sdf.format(new Date())); 
    } 
} 

Выход: 12/28/2011

На месте

Log.v("",""+dateObj); 

использования этого

Log.v("",""+sdf.format(new Date())); 

Вы не должны печатать исходный объект даты, кроме отформатированного.

+0

извините! он ничего не меняет – user790514

+0

Это правильный путь. Если это ничего не изменит, значит, вы применяете это неправильно. – njzk2

+0

спасибо ....... немного ответ. я разобрал строку, а затем отформатировал ее, как у сказал – user790514

-1
date : String date 
formatpattern : String formatPatten 

SimpleDateFormat formatter = new SimpleDateFormat(formatpattern); 
Date date = formatter.parse(date); 
+0

извините! никаких изменений в стоимости. – user790514

+0

вы ошибаетесь в синтаксическом разборе и формате – njzk2

1

Похоже, вы все сделали правильно, это просто, что объект даты всегда сохраняет эти значения для обеспечения согласованности всех ваших объектов даты. Взгляните на this.

1
Date dateObj = new Date(); 
dateFormat = new SimpleDateFormat("MM/dd/yyyy"); 
dateFormat.setLenient(false); 
dateObj = dateFormat.parse("12/30/2011"); 
Log.v("", "" + dateFormat.format(dateObj)); 

Попробуйте этот. dateFormat.format() должен решить вашу проблему.

0

Вы ошибаетесь в анализе и форматировании.

Здесь:

Date dateObj = new Date(); 
    dateFormat = new SimpleDateFormat("MM/dd/yyyy"); 
    String dateAsString = dateFormat.format(dateObj); 
    Log.v("",dateAsString); 

Кроме того, обратите внимание, что конкатенации объект с String, всегда использует метод ToString объекта. В случае объекта Date toString возвращает базовое стандартное форматирование, не связанное с объявленным выше SimpleDateFormat.

Смежные вопросы