Date 转 Calendar 获取年 月 日

本文介绍了一个Java方法,该方法用于解析指定日期并提取年、月、日及星期等信息。通过使用Calendar类,文章详细展示了如何获取并格式化这些日期元素。

/**解析日期,获取年月日星期*/
    private void parseDateToYearMonthDayWeek(Date date){

        //获取默认选中的日期的年月日星期的值,并赋值
        Calendar calendar = Calendar.getInstance();//日历对象
        calendar.setTime(date);//设置当前日期

        String yearStr = calendar.get(Calendar.YEAR)+"";//获取年份
        int month = calendar.get(Calendar.MONTH) + 1;//获取月份
        String monthStr = month < 10 ? "0" + month : month + "";
        int day = calendar.get(Calendar.DATE);//获取日
        String dayStr = day < 10 ? "0" + day : day + "";
        int week = calendar.get(Calendar.DAY_OF_WEEK);
        String weekStr = "";
        /*星期日:Calendar.SUNDAY=1
         *星期一:Calendar.MONDAY=2
         *星期二:Calendar.TUESDAY=3
         *星期三:Calendar.WEDNESDAY=4
         *星期四:Calendar.THURSDAY=5
         *星期五:Calendar.FRIDAY=6
         *星期六:Calendar.SATURDAY=7 */
        switch (week) {
            case 1:
                weekStr = "周日";
                break;
            case 2:
                weekStr = "周一";
                break;
            case 3:
                weekStr = "周二";
                break;
            case 4:
                weekStr = "周三";
                break;
            case 5:
                weekStr = "周四";
                break;
            case 6:
                weekStr = "周五";
                break;
            case 7:
                weekStr = "周六";
                break;
            default:
                break;
        }
        Log.e(TAG, yearStr + "年" + monthStr + "月" + dayStr + "日" + "  " + weekStr);
    }

### Date 换为 Calendar 的方法 在 Java 中,可以通过 `Calendar` 类提供的 `setTime(Date date)` 方法将 `Date` 对象换为 `Calendar` 对象。该方法接受一个 `Date` 实例,并将其设置为当前 `Calendar` 实例的时间值。这种方式是标准且推荐的换方式。 以下是一个完整的示例代码: ```java import java.util.Calendar; import java.util.Date; public class DateToCalendarExample { public static void main(String[] args) { // 创建一个 Date 对象 Date date = new Date(); // 创建一个 Calendar 对象,并将 Date 设置进去 Calendar calendar = Calendar.getInstance(); calendar.setTime(date); // 输出 Calendar 的时间信息 System.out.println("Year: " + calendar.get(Calendar.YEAR)); System.out.println("Month: " + calendar.get(Calendar.MONTH)); System.out.println("Day: " + calendar.get(Calendar.DAY_OF_MONTH)); } } ``` 通过上述代码,可以将 `Date` 对象完整地换为 `Calendar` 实例,并进一步操作历字段[^2]。 `Calendar` 类是对 `Date` 类的一个扩展,提供了更丰富的期操作功能,例如对、小时、分钟等字段的单独操作,这在 `Date` 类中是不支持的[^3]。 ### 相关注意事项 - `Calendar` 是一个抽象类,不能直接实例化,通常通过 `Calendar.getInstance()` 获取其实例。 - 在进行 `Date` 与 `Calendar` 换时,需要注意时区问题,确保两者使用相同的时区设置,否则可能导致时间值不一致。 - 一旦 `Calendar` 对象通过 `setTime()` 方法设置完毕,可以通过 `get(int field)` 方法获取具体的期字段值,例如等。 ---
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值