Je ne sais pas ce qui ne va pas avec le code ci-dessous -
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());
}
Je suggère:
long date = System.currentTimeMillis();
SimpleDateFormat sdf = new SimpleDateFormat("MMM MM dd, yyyy h:mm a");
String dateString = sdf.format(date);
tvDisplayDate.setText(dateString);
qui affiche dans l'exemple de format suivant
Mon Jan 5, 2009 4:55 PM
Vous pouvez utiliser le format de votre choix - des options sont disponibles sur Oracle
utilisez ce code:
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));
La solution ci-dessous peut aider -
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(" "));
}
TextView tv = (TextView) findViewById(R.id.textView1);
SimpleDateFormat dfDate_day= new SimpleDateFormat("E, dd/MM/yyyy HH:mm:ss");
String dt="";
Calendar c = Calendar.getInstance();
data=dfDate_day.format(c.getTime());
tv.setText(dt);
SimpleDateFormat sdf = new SimpleDateFormat("yyyyMMdd_HHmmss");
String currentDateandTime = sdf.format(new Date());
tv.setText(currentDateandTime);
c'est comme ça que je le fais
Pensez à utiliser un TextClock car il gérera les mises à jour pour vous. Pour plus d'informations, voici la documentation Docs . AnalogClock et DigitalClock peut également être utile si votre objectif est simplement d'afficher l'heure et la date actuelles
<TextClock
Android:layout_width="wrap_content"
Android:layout_height="wrap_content"
Android:textSize="30sp"
Android:format24Hour="MMM,yyyy\n\thh:mm"/>
si vous voulez générer un toast qui affiche l'heure actuelle sur un clic de bouton, utilisez ce code.
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();
}
});
remarque*:
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);
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);