안드로이드 자바
[Java][Android] 날짜 선택 후 요일 계산해서 보여주는 방법
teamnova
2025. 5. 6. 14:28
728x90
안녕하세요
오늘은 사용자가 날짜를 선택하면, 해당 날짜가 무슨 요일인지 계산해서 보여주는 기능을 구현해보도록 하겠습니다.
전체 코드입니다.
activity_main.xml
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:gravity="center"
android:orientation="vertical"
android:padding="24dp">
<Button
android:id="@+id/btn_pick_date"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="날짜 선택하기" />
<TextView
android:id="@+id/tv_result"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:paddingTop="24dp"
android:text="선택한 날짜: "
android:textSize="18sp" />
</LinearLayout>
MainActivity.java
public class MainActivity extends AppCompatActivity {
private Button btnPickDate;
private TextView tvResult;
private Calendar calendar;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
btnPickDate = findViewById(R.id.btn_pick_date);
tvResult = findViewById(R.id.tv_result);
calendar = Calendar.getInstance();
btnPickDate.setOnClickListener(view -> {
int year = calendar.get(Calendar.YEAR);
int month = calendar.get(Calendar.MONTH); // 0부터 시작
int day = calendar.get(Calendar.DAY_OF_MONTH);
DatePickerDialog datePickerDialog = new DatePickerDialog(
MainActivity.this,
(view1, selectedYear, selectedMonth, selectedDay) -> {
calendar.set(selectedYear, selectedMonth, selectedDay);
updateResult();
},
year, month, day
);
datePickerDialog.show();
});
}
private void updateResult() {
Date selectedDate = calendar.getTime();
// "yyyy년 MM월 dd일 (요일)" 형식으로 출력
SimpleDateFormat sdf = new SimpleDateFormat("yyyy년 MM월 dd일 (EEEE)", Locale.KOREAN);
String formatted = sdf.format(selectedDate);
tvResult.setText("선택한 날짜: " + formatted);
}
}
DatePickerDialog 로 부터 받아온 날짜를
SimpleDateFormat으로 변환하는 작업을 통해 구현하였습니다.
이를 확장해 다양하게 활용해보시면 좋을것같습니다.
시연 영상 입니다.