我已经阅读了很多关于此的帖子,但我无法让它发挥作用。 我需要一个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);
}
问题是我得到的结果:10月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在带有id datumprikaz
的textView中答案 0 :(得分:2)
你需要的只是定制你的日期。这是你的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);
}
您可以通过多种不同的方式格式化日期。以下是一些最常见的自定义日期格式。
yyyy-MM-dd结果于2009-09-06
yyyyMMdd的结果是20090906
EEE MMM dd hh:mm:ss yyyy导致Sun Sep 06 08:32:51 2009
希望这会有所帮助。
答案 1 :(得分:0)
您可以使用 SimpleDateFormat
TextView textView = (TextView)findViewById(R.id.datumprikaz);
SimpleDateFormat dateFormatter = new SimpleDateFormat("dd.MM.yyyy", Locale.getDefault());
textView.setText(dateFormatter.format(trenutniDatum));
答案 2 :(得分:0)
试试这个
public void setDate (TextView view) {
String str = new SimpleDateFormat("dd.MM.yyyy", Locale.getDefault()).format(new Date());
view.setText(str); }
答案 3 :(得分:0)
内置的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"
/>