Bagaimana cara menampilkan tanggal dan waktu saat ini di aplikasi Android?
Bagaimana cara menampilkan tanggal dan waktu saat ini di aplikasi Android?
Jawaban:
Oke, tidak sesulit itu karena ada beberapa metode untuk melakukan ini. Saya berasumsi Anda ingin memasukkan tanggal & waktu saat ini menjadi a TextView
.
String currentDateTimeString = java.text.DateFormat.getDateTimeInstance().format(new Date());
// textView is the TextView view that should display it
textView.setText(currentDateTimeString);
Ada lebih banyak untuk dibaca dalam dokumentasi yang dapat dengan mudah ditemukan di sini . Di sana Anda akan menemukan informasi lebih lanjut tentang cara mengubah format yang digunakan untuk konversi.
"HH:mm:ss"
! Sepenuhnya:currentTimeString = new SimpleDateFormat("HH:mm:ss").format(new Date());
DateFormat.getTimeInstance()
dan DateFormat.getDateTimeInstance()
.
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);
}
}
SimpleDateFormat
karena saya sudah tidak dapat menemukan simbol class
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){
}
}
}
}
Pilihan yang jelas untuk menampilkan waktu adalah AnalogClock
Tampilan dan DigitalClock
Tampilan .
Misalnya, tata letak berikut:
<?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>
Terlihat seperti ini:
Jika Anda menginginkan satu baris kode:
String date = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(Calendar.getInstance().getTime());
Hasilnya adalah "2016-09-25 16:50:34"
Solusi kerja saya sendiri:
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);
Semoga ini membantu!
Dari Bagaimana mendapatkan tanggal penuh dengan format yang benar?:
Mohon gunakan
android.text.format.DateFormat.getDateFormat(Context context)
android.text.format.DateFormat.getTimeFormat(Context context)
untuk mendapatkan format waktu dan tanggal yang valid dalam arti pengaturan pengguna saat ini (format 12/24 waktu, misalnya).
import android.text.format.DateFormat;
private void some() {
final Calendar t = Calendar.getInstance();
textView.setText(DateFormat.getTimeFormat(this/*Context*/).format(t.getTime()));
}
Berikut adalah kode yang berfungsi untuk saya. Silakan coba ini. Ini adalah metode sederhana yang membutuhkan waktu dan tanggal dari panggilan sistem. Metode Datetime () di mana pun Anda butuhkan.
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;
}
Menggunakan:
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);
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);
Ini akan memberikan format waktu tanggal seperti 2010-05-24T18: 13: 00
Sebenarnya, Anda yang terbaik dengan widget TextClock. Ini menangani semua kompleksitas untuk Anda dan akan menghormati preferensi pengguna 12/24 jam. http://developer.android.com/reference/android/widget/TextClock.html
Untuk menampilkan fungsi tanggal saat ini:
Calendar c = Calendar.getInstance();
SimpleDateFormat df = new SimpleDateFormat("dd-MMM-yyyy");
String date = df.format(c.getTime());
Date.setText(date);
Anda harus ingin mengimpor
import java.text.SimpleDateFormat; impor java.util.Calendar;
Anda harus mau menggunakannya
TextView Date;
Date = (TextView) findViewById(R.id.Date);
Cukup salin kode ini dan harap ini berfungsi dengan baik untuk Anda.
Calendar c = Calendar.getInstance();
SimpleDateFormat sdf = new SimpleDateFormat("dd:MMMM:yyyy HH:mm:ss a");
String strDate = sdf.format(c.getTime());
Coba kode di bawah ini:
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);
Anda bisa coba cara ini
Calendar calendar = Calendar.getInstance();
SimpleDateFormat mdformat = new SimpleDateFormat("HH:mm:ss");
String strDate = "Current Time : " + mdformat.format(calendar.getTime());
Jika Anda ingin bekerja dengan tanggal / waktu di android, saya sarankan Anda untuk menggunakan ThreeTenABP yang merupakan versi java.time.*
paket (tersedia mulai dari API 26 di android) yang dikirimkan dengan Java 8 tersedia sebagai pengganti java.util.Date
dan java.util.Calendar
.
LocalDate localDate = LocalDate.now();
DateTimeFormatter formatter = DateTimeFormatter.ofLocalizedDate(FormatStyle.MEDIUM);
String date = localDate.format(formatter);
textView.setText(date);
ZonedDateTime
bukan LocalDate
dan DateTimeFormatter.ofLocalizedDateTime
bukan ofLocalizedDate
. Kalau tidak, kodenya akan sama.
Untuk Menampilkan Tanggal dan Waktu Saat Ini di Textview
/// For Show Date
String currentDateString = DateFormat.getDateInstance().format(new Date());
// textView is the TextView view that should display it
textViewdate.setText(currentDateString);
/// For Show Time
String currentTimeString = DateFormat.getTimeInstance().format(new Date());
// textView is the TextView view that should display it
textViewtime.setText(currentTimeString);
Periksa Kode Lengkap Android - Menampilkan tanggal dan waktu saat ini dalam Contoh Android Studio dengan kode sumber
Untuk mendapatkan Waktu / Tanggal saat ini, cukup gunakan cuplikan kode berikut:
Untuk menggunakan Waktu :
SimpleDateFormat simpleDateFormatTime = new SimpleDateFormat("HH:mm", Locale.getDefault());
String strTime = simpleDateFormatTime.format(now.getTime());
Untuk menggunakan Tanggal :
SimpleDateFormat simpleDateFormatDate = new SimpleDateFormat("E, MMM dd, yyyy", Locale.getDefault());
String strDate = simpleDateFormatDate.format(now.getTime());
dan kamu baik untuk pergi.
SimpleDateFormat format = new SimpleDateFormat("dd/MM/yyyy");
Calendar c = Calendar.getInstance();
Date date = Calendar.getInstance().getTime();
String sDate = format.format(date);//31-12-9999
int mYear = c.get(Calendar.YEAR);//9999
int mMonth = c.get(Calendar.MONTH);
mMonth = mMonth + 1;//12
int hrs = c.get(Calendar.HOUR_OF_DAY);//24
int min = c.get(Calendar.MINUTE);//59
String AMPM;
if (c.get(Calendar.AM_PM) == 0) {
AMPM = "AM";
} else {
AMPM = "PM";
}
java.text.DateFormat
dan BUKANandroid.text.format.DateFormat
! Dan itujava.util.Date
dan TIDAKjava.sql.Date
! Hanya sedikit petunjuk tentang mengajukan pertanyaan: cobalah untuk lebih tepatnya, misalnya: nyatakan apa yang Anda maksud dengan "tampilkan" dalam pertanyaan Anda. Dan ketika Anda mengetik di baris saya - Date danormat harus, tentu saja, harus diimpor - jika ada pilihan 2 untuk masing-masing, paling tidak Anda bisa mencoba kombinasi apa pun: hanya 4!