在Android中,可以使用Calendar类来获取日期对应的星期几。下面是一个示例代码:
import android.app.DatePickerDialog;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;
import android.widget.DatePicker;
import android.widget.TextView;
import androidx.appcompat.app.AppCompatActivity;
import java.text.SimpleDateFormat;
import java.util.Calendar;
import java.util.Locale;
public class MainActivity extends AppCompatActivity {
private TextView selectedDateTextView;
private Button selectDateButton;
private DatePickerDialog.OnDateSetListener datePickerListener;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
selectedDateTextView = findViewById(R.id.selected_date_textview);
selectDateButton = findViewById(R.id.select_date_button);
// 设置日期选择对话框的监听器
datePickerListener = new DatePickerDialog.OnDateSetListener() {
@Override
public void onDateSet(DatePicker view, int year, int monthOfYear, int dayOfMonth) {
// 创建一个Calendar实例
Calendar calendar = Calendar.getInstance();
// 设置选中的日期
calendar.set(year, monthOfYear, dayOfMonth);
// 获取星期几
String dayOfWeek = new SimpleDateFormat("EEEE", Locale.getDefault()).format(calendar.getTime());
// 显示选中的日期和星期几
selectedDateTextView.setText(String.format("%04d-%02d-%02d (%s)", year, monthOfYear + 1, dayOfMonth, dayOfWeek));
}
};
// 设置按钮的点击事件,弹出日期选择对话框
selectDateButton.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
// 获取当前日期
Calendar calendar = Calendar.getInstance();
int year = calendar.get(Calendar.YEAR);
int month = calendar.get(Calendar.MONTH);
int day = calendar.get(Calendar.DAY_OF_MONTH);
// 创建日期选择对话框并显示
DatePickerDialog datePickerDialog = new DatePickerDialog(MainActivity.this, datePickerListener, year, month, day);
datePickerDialog.show();
}
});
}
}
此示例中,我们创建了一个带有一个按钮和一个文本视图的Activity。当用户点击按钮时,会弹出一个日期选择对话框。在日期选择对话框中选择日期后,会将选中的日期以及对应的星期几显示在文本视图中。
请确保在布局文件中定义了相应的视图元素(如Button和TextView),并将上述代码与布局文件进行关联。