Студия Android – дата показа Textview

Я прочитал много сообщений об этом, но я не могу заставить его работать. Мне нужен textView (id - datumprikaz), чтобы показать текущую дату следующим образом: 28.11.2016.

Мне удалось добавить дату, используя этот метод в моей Java:

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);

    TextView dateView = (TextView)findViewById(R.id.datumprikaz);
    setDate(dateView);

}

public void setDate (TextView view){
    String str = String.format("%tc", new Date());
    view.setText(str);
}

Проблема в том, что я получаю в результате: Пт 28 окт 19:57:37 GMT

И мне просто нужно показать текущую дату, например 28.11.2016.

Как мне это сделать ?

Я пробовал другой метод с

    String trenutniDatum = DateFormat.getDateTimeInstance().format(new Date());
    datumprikaz textView = (datumprikaz) findViewById(R.id.datumprikaz);
    datumprikaz.setText(trenutniDatum);

Но setText красный и не будет работать.

Как мне это получить? 28.11.2016 в textView с id datumprikaz


person Ivan    schedule 28.10.2016    source источник


Ответы (4)


вам нужно просто настроить дату. Вот простое решение для вашего метода setDate.

public void setDate (TextView view){

    Date today = Calendar.getInstance().getTime();//getting date
    SimpleDateFormat formatter = new SimpleDateFormat("dd.MM.yyyy");//formating according to my need
    String date = formatter.format(today);
    view.setText(date);
}

вы можете отформатировать дату множеством разных способов. Вот некоторые из наиболее распространенных настраиваемых форматов даты.

гггг-мм-дд результаты за 2009-09-06

ггггММдд результаты в 20090906

EEE MMM dd hh:mm:ss yyyy результаты в Sun Sep 06 08:32:51 2009

Надеюсь, это поможет.

person Real73    schedule 28.10.2016
comment
TextView datumprikaz = (TextView)findViewById(R.id.datumprikaz); Date danas = new Date();//Это создает дату, представляющую этот экземпляр во времени. SimpleDateFormat sdf = новый SimpleDateFormat (дд.ММ.гггг); Строка novDatum = sdf.format(danas); datumprikaz.setText(novDatum); Это сработало, спасибо! - person Ivan; 31.10.2016

Встроенный TextClock очень удобен для отображения отформатированной информации о дате/времени без необходимости следить за постоянным обновлением содержимого TextView.

<android.widget.TextClock
    android:id="@+id/datumprikaz"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:format12Hour="dd.MM.yyyy"
    android:format24Hour="@null"
    />
person Casey Perkins    schedule 30.10.2019

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

TextView textView = (TextView)findViewById(R.id.datumprikaz);
SimpleDateFormat dateFormatter = new SimpleDateFormat("dd.MM.yyyy", Locale.getDefault());
textView.setText(dateFormatter.format(trenutniDatum));
person okarakose    schedule 28.10.2016
comment
Я обновил свой ответ с помощью привязки textView. Вы можете проверить это. - person okarakose; 28.10.2016
comment
Удивительно, теперь он показывает дату правильно, но проблема в том, что дата: 25.01.1970 Почему-то. - person Ivan; 28.10.2016
comment
Если вы хотите показать текущее время, вы должны использовать функцию System.currentTimeInMillis(). - person okarakose; 28.10.2016

Попробуй это

public void setDate (TextView view) {
String str = new SimpleDateFormat("dd.MM.yyyy", Locale.getDefault()).format(new Date());
view.setText(str); }
person Sergey D    schedule 28.10.2016