Giới thiệu
Ví dụ này minh họa cách định dạng ngày và giờ trong Android sử dụng SimpleDateFormat và Calendar.
Các bước thực hiện
Bước 1: Tạo dự án mới
Mở Android Studio, chọn File → New Project và điền thông tin cần thiết.
Bước 2: Thiết kế giao diện (res/layout/activity_main.xml)
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="https://schemas.android.com/apk/res/android"
xmlns:tools="https://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
tools:context=".MainActivity">
<TextView
android:id="@+id/textView"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:textAlignment="center"
android:textSize="16sp"
android:textStyle="bold|italic"
android:layout_centerInParent="true" />
</RelativeLayout>
Bước 3: Viết code MainActivity.java
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.widget.TextView;
import java.text.SimpleDateFormat;
import java.util.Calendar;
import java.util.Locale;
public class MainActivity extends AppCompatActivity {
TextView textView;
String dateTime;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
textView = findViewById(R.id.textView);
Calendar calendar = Calendar.getInstance();
// Định dạng: Thứ, ngày-tháng-năm giờ-phút-giây AM/PM
// Thêm Locale.getDefault() để hỗ trợ đa ngôn ngữ
SimpleDateFormat simpleDateFormat = new SimpleDateFormat(
"EEEE, dd-MMM-yyyy hh:mm:ss a", Locale.getDefault());
dateTime = simpleDateFormat.format(calendar.getTime());
textView.setText(dateTime);
}
}
Các ký tự định dạng phổ biến:
| Ký tự | Ý nghĩa | Ví dụ |
|---|---|---|
| yyyy | Năm 4 chữ số | 2024 |
| MM | Tháng (01-12) | 03 |
| MMM | Tháng viết tắt | Mar |
| dd | Ngày (01-31) | 15 |
| EEEE | Thứ trong tuần | Friday |
| hh | Giờ 12h (01-12) | 03 |
| HH | Giờ 24h (00-23) | 15 |
| mm | Phút (00-59) | 45 |
| ss | Giây (00-59) | 30 |
| a | AM/PM | PM |
Lưu ý: Từ API 24 (Android 7.0), nên sử dụng java.time package (DateTimeFormatter) thay vì SimpleDateFormat vì an toàn luồng (thread-safe) và hiệu năng tốt hơn.
Bước 4: Cấu hình AndroidManifest.xml
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="https://schemas.android.com/apk/res/android"
package="app.com.sample">
<application
android:allowBackup="true"
android:icon="@mipmap/ic_launcher"
android:label="@string/app_name"
android:roundIcon="@mipmap/ic_launcher_round"
android:supportsRtl="true"
android:theme="@style/AppTheme">
<activity android:name=".MainActivity">
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
</application>
</manifest>
Chạy ứng dụng
Kết nối thiết bị, nhấn Run để xem ngày giờ hiện tại được định dạng hiển thị.
