java之Calendar的一些用法

package calendar;

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

/**
 * java之Calendar的一些用法
 */
public class TestCalendar {

    public static void main(String[] args) throws ParseException {
        //Date转Calendar
        String time="2011-05-12 23:59:59";
        SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); //HH是24小时制,hh是12小时制
        Date date = sdf.parse(time);
        System.out.println(sdf.format(date));
        Calendar c = Calendar.getInstance();
        c.setTime(date);
        System.out.println(sdf.format(c.getTime()));

        //日期加2天
        c.add(Calendar.DAY_OF_MONTH, 2);
        System.out.println(sdf.format(c.getTime()));

        //日期减1天
        c.add(Calendar.DATE, -1);
        System.out.println(sdf.format(c.getTime()));

        //年、月、日、时、分、秒
        Calendar calendar = Calendar.getInstance();
        int year = calendar.get(Calendar.YEAR);
        int month = calendar.get(Calendar.MONTH)+1;
        int day = calendar.get(Calendar.DATE);
        int hour = calendar.get(Calendar.HOUR_OF_DAY);
        int minute = calendar.get(Calendar.MINUTE);
        int second = calendar.get(Calendar.SECOND);
        System.out.println(year + "-" + month + "-" + day + " " + hour + ":" + minute + ":" + second);

        //星期
        sdf = new SimpleDateFormat("yyyy-MM-dd");
        int i = calendar.get(Calendar.DAY_OF_WEEK) - 1; //值为0到6,分别代表星期天到星期六
        System.out.println("今天星期几:" + i);
        calendar.add(Calendar.DATE, -i); //上星期天
        String endDate = sdf.format(calendar.getTime());
        System.out.println("上星期天是:" + endDate);
        calendar.add(Calendar.DATE, -6); //上星期一
        String startDate = sdf.format(calendar.getTime());
        System.out.println("上星期一是:" + startDate);

        //取当月的第一天与最后一天 
        Calendar cal = Calendar.getInstance(); 
        cal.setTime(new Date()); 
        cal.set(Calendar.DAY_OF_MONTH, 1); 
        System.out.println("本月第一天:" + new SimpleDateFormat("yyyy-MM-dd").format(cal.getTime())); 
        cal.roll(Calendar.DAY_OF_MONTH, -1);  
        System.out.println("本月最后一天:" + new SimpleDateFormat("yyyy-MM-dd").format(cal.getTime()));
        System.out.println("本月最后一天:" + cal.getActualMaximum(Calendar.DAY_OF_MONTH));
    }

}

运行结果:
2011-05-12 23:59:59
2011-05-12 23:59:59
2011-05-14 23:59:59
2011-05-13 23:59:59
2016-5-29 21:3:4
今天星期几:0
上星期天是:2016-05-29
上星期一是:2016-05-23
本月第一天:2016-05-01
本月最后一天:2016-05-31
本月最后一天:31

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
我的桌面日历(iDesktopCalendar)是一款简洁雅致小巧的桌面提醒工具软件, 可以提供日期、时间、邮件、天气以及待办事件等提醒功能。 软件特色: --电子日历可以显示西历和阴历,以及二十四节气和十二生肖。 --电子时钟可以语音报时和定时报时。可以自由定制定时报时的提示方式。 --邮件提醒支持不限邮箱数量的邮件检查提醒功能,并对保存的密码等信息进行了128位加密。 --天气预报提供了中央气象台提供的全国县级以上城市的五天天气预报。可以自定义多个城市。 --网络对时功能可以让你的机器保持正确的时间,以免耽误工作。 --定时提醒提供了按时间进行事件提醒功能,让你及时了解要做的事件。 --启动迅速,占用资源少,轻便快速。 --独特的背景半透明技术。 目前大多数此类软件的透明,是背景和前景的一起透明,当透明度很高时,导致整个软件都不可见。 而本软件提供的技术,可以独立调节背景的透明度而完全不影响前景的显示。 取消了前景的透明度调节,取而代之以不同的窗口风格来显示。 --多种窗口风格供您选择。 总在最前,嵌入桌面,以及普通窗口三种风格。 嵌入桌面风格以外可以选择自动靠边隐藏,方便用户在桌面的正常工作。 --快捷方便的人性化设计。 快速显示功能功能。 在窗口自动隐藏后可以通过双击系统托盘图标来快速显示,方便查询时间。 语音报时或者音乐提示时,可以通过双击系统托盘图标或者窗口来停止声音播放。 在窗口自动隐藏时,可以有系统任务栏的气泡提示。 --自带简单的实时皮肤编辑器,轻松实现皮肤定制。个性化您的桌面。 --完全免费,不含任何广告等流氓插件,可以放心使用。
Java Calendar是一个非常有用的类,用于操作日期和时间的对象。下面是使用Java Calendar的一些示例: 1. 获取当前日期和时间: ```java Calendar calendar = Calendar.getInstance(); Date currentTime = calendar.getTime(); System.out.println("当前时间为:" + currentTime); ``` 2. 获取指定日期的年、月、日: ```java Calendar calendar = Calendar.getInstance(); calendar.set(2021, 6, 1); int year = calendar.get(Calendar.YEAR); int month = calendar.get(Calendar.MONTH) + 1; int day = calendar.get(Calendar.DAY_OF_MONTH); System.out.println("年:" + year + " 月:" + month + " 日:" + day); ``` 3. 获取指定日期是星期几: ```java Calendar calendar = Calendar.getInstance(); calendar.set(2021, 6, 1); int dayOfWeek = calendar.get(Calendar.DAY_OF_WEEK); System.out.println("星期" + (dayOfWeek - 1)); ``` 4. 获取指定日期的下一个月的日期: ```java Calendar calendar = Calendar.getInstance(); calendar.set(2021, 6, 1); calendar.add(Calendar.MONTH, 1); Date nextMonthDate = calendar.getTime(); System.out.println("下一个月的日期为:" + nextMonthDate); ``` 5. 比较两个日期的大小: ```java Calendar calendar1 = Calendar.getInstance(); calendar1.set(2021, 6, 1); Calendar calendar2 = Calendar.getInstance(); calendar2.set(2021, 7, 1); int result = calendar1.compareTo(calendar2); if (result == 0) { System.out.println("两个日期相同"); } else if (result < 0) { System.out.println("第一个日期在第二个日期之前"); } else { System.out.println("第一个日期在第二个日期之后"); } ``` 这些示例只是使用Java Calendar的一些常见操作,Calendar还有很多其他的方法可以使用。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值