在Android应用程序中显示当前时间和date

如何在Android应用程序中显示当前的date和时间?

好吧,没有那么难,因为有几种方法可以做到这一点。 我假设你想把当前的date和时间放到一个TextView

 String currentDateTimeString = DateFormat.getDateTimeInstance().format(new Date()); // textView is the TextView view that should display it textView.setText(currentDateTimeString); 

还有更多可以在这里find的文档中阅读。 在那里您可以find更多关于如何更改转换格式的信息。

 public class XYZ extends Activity { /** Called when the activity is first created. */ @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); //setContentView(R.layout.main); Calendar c = Calendar.getInstance(); System.out.println("Current time => "+c.getTime()); SimpleDateFormat df = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); String formattedDate = df.format(c.getTime()); // formattedDate have current date/time Toast.makeText(this, formattedDate, Toast.LENGTH_SHORT).show(); // Now we display formattedDate value in TextView TextView txtView = new TextView(this); txtView.setText("Current Date and Time : "+formattedDate); txtView.setGravity(Gravity.CENTER); txtView.setTextSize(20); setContentView(txtView); } } 

在这里输入图像描述

 public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.main); Thread myThread = null; Runnable runnable = new CountDownRunner(); myThread= new Thread(runnable); myThread.start(); } public void doWork() { runOnUiThread(new Runnable() { public void run() { try{ TextView txtCurrentTime= (TextView)findViewById(R.id.lbltime); Date dt = new Date(); int hours = dt.getHours(); int minutes = dt.getMinutes(); int seconds = dt.getSeconds(); String curTime = hours + ":" + minutes + ":" + seconds; txtCurrentTime.setText(curTime); }catch (Exception e) {} } }); } class CountDownRunner implements Runnable{ // @Override public void run() { while(!Thread.currentThread().isInterrupted()){ try { doWork(); Thread.sleep(1000); } catch (InterruptedException e) { Thread.currentThread().interrupt(); }catch(Exception e){ } } } } 

显示时间的明显select是AnalogClock视图和DigitalClock视图 。

例如,以下布局:

 <?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="fill_parent" android:layout_height="fill_parent" android:orientation="vertical"> <AnalogClock android:layout_width="fill_parent" android:layout_height="wrap_content"/> <DigitalClock android:layout_width="fill_parent" android:layout_height="wrap_content" android:gravity="center" android:textSize="20sp"/> </LinearLayout> 

看起来像这样:

截图

我自己的工作解决scheme

 Calendar c = Calendar.getInstance(); String sDate = c.get(Calendar.YEAR) + "-" + c.get(Calendar.MONTH) + "-" + c.get(Calendar.DAY_OF_MONTH) + " at " + c.get(Calendar.HOUR_OF_DAY) + ":" + c.get(Calendar.MINUTE); 

希望这可以帮助!

如果你想要一行代码:

 String date = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(Calendar.getInstance().getTime()); 

结果是"2016-09-25 16:50:34"

如果你想以特定的模式获取date和时间,你可以使用

 Date d = new Date(); CharSequence s = DateFormat.format("yyyy-MM-dd hh:mm:ss", d.getTime()); 

从如何获得正确格式的完整date? :

请用

 android.text.format.DateFormat.getDateFormat(Context context) android.text.format.DateFormat.getTimeFormat(Context context) 

以当前用户设置(例如12/24时间格式)的forms获取有效的时间和date格式。

 import android.text.format.DateFormat; private void some() { final Calendar t = Calendar.getInstance(); textView.setText(DateFormat.getTimeFormat(this/*Context*/).format(t.getTime())); } 

这是为我工作的代码。 请试试这个。 这是一个简单的方法,从系统调用需要时间和date。 方法Datetime()无论你需要什么。

 public static String Datetime() { Calendar c = Calendar .getInstance(); System.out.println("Current time => "+c.getTime()); SimpleDateFormat df = new SimpleDateFormat("yyyy-MM-dd HH:mms"); formattedDate = df.format(c.getTime()); return formattedDate; } 

使用:

 Calendar c = Calendar.getInstance(); int seconds = c.get(Calendar.SECOND); int minutes = c.get(Calendar.MINUTE); int hour = c.get(Calendar.HOUR); String time = hour + ":" + minutes + ":" + seconds; int day = c.get(Calendar.DAY_OF_MONTH); int month = c.get(Calendar.MONTH); int year = c.get(Calendar.YEAR); String date = day + "/" + month + "/" + year; // Assuming that you need date and time in a separate // textview named txt_date and txt_time. txt_date.setText(date); txt_time.setText(time); 
 String formattedDate = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(Calendar.getInstance().getTime()); 

使用formattedDate作为填充date的String
在我的情况: mDateButton.setText(formattedDate);

实际上,您最好使用TextClock小部件。 它处理所有的复杂性,并会尊重用户的12/24小时偏好。 http://developer.android.com/reference/android/widget/TextClock.html

 Calendar c = Calendar.getInstance(); int month=c.get(Calendar.MONTH)+1; String sDate = c.get(Calendar.YEAR) + "-" + month+ "-" + c.get(Calendar.DAY_OF_MONTH) + "T" + c.get(Calendar.HOUR_OF_DAY)+":"+c.get(Calendar.MINUTE)+":"+c.get(Calendar.SECOND); 

这会给date时间格式,如2010-05-24T18:13:00

这将给出当前date和时间:

 public String getCurrDate() { String dt; Date cal = Calendar.getInstance().getTime(); dt = cal.toLocaleString(); return dt; } 

只需复制此代码,并希望这对你工作正常。

 Calendar c = Calendar.getInstance(); SimpleDateFormat sdf = new SimpleDateFormat("dd:MMMM:yyyy HH:mm:ss a"); String strDate = sdf.format(c.getTime()); 

要显示math函数:

 Calendar c = Calendar.getInstance(); SimpleDateFormat S = new SimpleDateFormat("dd-MMM-yyyy"); String date = df.format(c.getTime()); Date.setText(date); 

您必须要导入

import java.text.SimpleDateFormat; import java.util.Calendar;

你一定要用

 TextView Date; Date = (TextView) findViewById(R.id.Date); 
 String currentDateandTime = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(new Date()); Toast.makeText(getApplicationContext(), currentDateandTime, Toast.LENGTH_SHORT).show(); 

试试下面的代码:

 SimpleDateFormat dateFormat = new SimpleDateFormat( "yyyy/MM/dd HH:mm:ss"); Calendar cal = Calendar.getInstance(); System.out.println("time => " + dateFormat.format(cal.getTime())); String time_str = dateFormat.format(cal.getTime()); String[] s = time_str.split(" "); for (int i = 0; i < s.length; i++) { System.out.println("date => " + s[i]); } int year_sys = Integer.parseInt(s[0].split("/")[0]); int month_sys = Integer.parseInt(s[0].split("/")[1]); int day_sys = Integer.parseInt(s[0].split("/")[2]); int hour_sys = Integer.parseInt(s[1].split(":")[0]); int min_sys = Integer.parseInt(s[1].split(":")[1]); System.out.println("year_sys => " + year_sys); System.out.println("month_sys => " + month_sys); System.out.println("day_sys => " + day_sys); System.out.println("hour_sys => " + hour_sys); System.out.println("min_sys => " + min_sys); 

要获取当前时间/date,只需使用以下代码片段:

要使用时间

 SimpleDateFormat simpleDateFormatTime = new SimpleDateFormat("HH:mm", Locale.getDefault()); String strTime = simpleDateFormatTime.format(now.getTime()); 

使用date

 SimpleDateFormat simpleDateFormatDate = new SimpleDateFormat("E, MMM dd, yyyy", Locale.getDefault()); String strDate = simpleDateFormatDate.format(now.getTime()); 

你很好走。

  //Code to display date and time in textviews etDate = (TextView) findViewById(R.id.editDate); etTime = (TextView) findViewById(R.id.editTime); SimpleDateFormat sdfd = new SimpleDateFormat( "dd-mm-yyyy " ); etDate.setText( sdfd.format( new Date() )); SimpleDateFormat sdft = new SimpleDateFormat( "hh : mm : ss aa");//aa gives you AM/PM ie, in 12 hour format etTime.setText(sdft.format( new Date() ));