Android 获取当前时间格式化及星期几

在Android开发中,获取当前时间并格式化显示是一个常见的需求。本文将介绍如何获取当前时间,并将其格式化为包含星期几的字符串。

获取当前时间

在Android中,可以使用java.util.Calendar类来获取当前时间。以下是获取当前时间的代码示例:

Calendar calendar = Calendar.getInstance();
int year = calendar.get(Calendar.YEAR);
int month = calendar.get(Calendar.MONTH) + 1;
int day = calendar.get(Calendar.DAY_OF_MONTH);
int hour = calendar.get(Calendar.HOUR_OF_DAY);
int minute = calendar.get(Calendar.MINUTE);
int second = calendar.get(Calendar.SECOND);

格式化时间

获取到当前时间后,可以使用java.text.SimpleDateFormat类来格式化时间。以下是将时间格式化为"yyyy-MM-dd HH:mm:ss"的代码示例:

SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
String formattedDate = sdf.format(calendar.getTime());

获取星期几

要获取当前时间对应的星期几,可以使用Calendar类的get方法。以下是获取星期几的代码示例:

int dayOfWeek = calendar.get(Calendar.DAY_OF_WEEK);
String[] daysOfWeek = {"", "星期日", "星期一", "星期二", "星期三", "星期四", "星期五", "星期六"};
String dayOfWeekStr = daysOfWeek[dayOfWeek];

完整代码示例

以下是将上述步骤整合到一起的完整代码示例:

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

public class MainActivity extends AppCompatActivity {

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);

        Calendar calendar = Calendar.getInstance();
        int year = calendar.get(Calendar.YEAR);
        int month = calendar.get(Calendar.MONTH) + 1;
        int day = calendar.get(Calendar.DAY_OF_MONTH);
        int hour = calendar.get(Calendar.HOUR_OF_DAY);
        int minute = calendar.get(Calendar.MINUTE);
        int second = calendar.get(Calendar.SECOND);
        int dayOfWeek = calendar.get(Calendar.DAY_OF_WEEK);
        String[] daysOfWeek = {"", "星期日", "星期一", "星期二", "星期三", "星期四", "星期五", "星期六"};
        String dayOfWeekStr = daysOfWeek[dayOfWeek];

        SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
        String formattedDate = sdf.format(calendar.getTime());

        TextView textView = findViewById(R.id.text_view);
        textView.setText("当前时间:" + formattedDate + " " + dayOfWeekStr);
    }
}

旅行图

以下是获取当前时间并格式化显示的旅行图:

journey
    A[开始] --> B[获取当前时间]
    B --> C[格式化时间]
    C --> D[获取星期几]
    D --> E[显示结果]

序列图

以下是获取当前时间并格式化显示的序列图:

sequenceDiagram
    participant A as 主线程
    participant B as Calendar
    participant C as SimpleDateFormat

    A->>B: 获取当前时间
    B->>C: 格式化时间
    C->>A: 返回格式化后的时间字符串
    A->>B: 获取星期几
    B->>A: 返回星期几字符串
    A->>A: 显示结果

通过上述代码示例和旅行图、序列图,我们可以清晰地了解在Android中获取当前时间并格式化显示的整个流程。希望本文对您有所帮助。