Android获取当前日期并在文本视图中显示
我不知道下面的代码有什么问题-Android获取当前日期并在文本视图中显示,android,date,Android,Date,我不知道下面的代码有什么问题- public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); TextView tv = (TextView) findViewById(R.id.textView1); String dt; Date cal = (Date) Cal
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
TextView tv = (TextView) findViewById(R.id.textView1);
String dt;
Date cal = (Date) Calendar.getInstance().getTime();
dt = cal.toLocaleString();
tv.setText(dt.toString());
}
我建议:
long date = System.currentTimeMillis();
SimpleDateFormat sdf = new SimpleDateFormat("MMM MM dd, yyyy h:mm a");
String dateString = sdf.format(date);
tvDisplayDate.setText(dateString);
以以下示例格式显示
2009年1月5日星期一下午4:55
您可以使用您想要的任何格式-可以在下面找到选项解决方案可能会有所帮助-
final Calendar c = Calendar.getInstance();
mYear = c.get(Calendar.YEAR);
mMonth = c.get(Calendar.MONTH);
mDay = c.get(Calendar.DAY_OF_MONTH);
updateDisplay();
private void updateDisplay() {
mDateDisplay.setText(
new StringBuilder()
// Month is 0 based so add 1
.append(mMonth + 1).append("-")
.append(mDay).append("-")
.append(mYear).append(" "));
}
使用此代码:
tvDisplayDate = (TextView) findViewById(R.id.tvDate);
final Calendar c = Calendar.getInstance();
yy = c.get(Calendar.YEAR);
mm = c.get(Calendar.MONTH);
dd = c.get(Calendar.DAY_OF_MONTH);
// set current date into textview
tvDisplayDate.setText(new StringBuilder()
// Month is 0 based, just add 1
.append(yy).append(" ").append("-").append(mm + 1).append("-")
.append(dd));
我就是这样做的注意*:
import java.text.DateFormat;
import java.util.Date;
// Donot import "import java.sql.Date;"
TextView tv = (TextView) findViewById(R.id.textView1);
String ct = DateFormat.getDateInstance().format(new Date());
tv.setText(ct);
如果要生成一个在按钮上显示当前时间的toast,请单击,然后使用此代码
bt.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View arg0) {
// TODO Auto-generated method stub
Calendar c = Calendar.getInstance();
hour = c.get(Calendar.HOUR_OF_DAY);
min = c.get(Calendar.MINUTE);
int ds = c.get(Calendar.AM_PM);
if(ds==0)
AM_PM="pm";
else
AM_PM="am";
Toast.makeText(MainActivity.this, ""+hour+":"+min+AM_PM, Toast.LENGTH_SHORT).show();
}
});
考虑使用TextClock,因为它将为您处理更新。有关更多信息,请参阅文档。如果您的目标只是显示当前的时间和日期,那么它也很有用
<TextClock
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:textSize="30sp"
android:format24Hour="MMM,yyyy\n\thh:mm"/>
您怀疑哪些错误或遇到了哪些错误?
bt.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View arg0) {
// TODO Auto-generated method stub
Calendar c = Calendar.getInstance();
hour = c.get(Calendar.HOUR_OF_DAY);
min = c.get(Calendar.MINUTE);
int ds = c.get(Calendar.AM_PM);
if(ds==0)
AM_PM="pm";
else
AM_PM="am";
Toast.makeText(MainActivity.this, ""+hour+":"+min+AM_PM, Toast.LENGTH_SHORT).show();
}
});
Calendar c = Calendar.getInstance();
SimpleDateFormat df = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
String formattedDate = df.format(c.getTime());
System.out.println("Currrent Date Time : "+formattedDate);
<TextClock
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:textSize="30sp"
android:format24Hour="MMM,yyyy\n\thh:mm"/>
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
String currentDateandTime = sdf.format(new Date());
tv.setText(currentDateandTime);