黑马程序员——Java基础---Date/ Calender

——- android培训java培训、期待与您交流! ———-

Date

日期对象和毫秒值之间的转换。

1,日期对象转成毫秒值。Date类中的getTime方法。
2,如何将获取到的毫秒值转成具体的日期呢?
    Date类中的setTime方法。也可以通过构造函数。     
//日期对象转成毫秒值
        Date d = new Date();
        long time1 = d.getTime();
        long time2 = System.currentTimeMillis(); / /毫秒值。

//毫秒值转成具体的日期
        long time = 1322709921312l;
        Date d = new Date();
        d.setTime(time);

将日期字符串转换成日期对象:

使用的就是DateFormat方法中的 Date parse(String source) ;

public static void method() throws Exception {

    String str_time = "2011/10/25";
    DateFormat df = new SimpleDateFormat("yyyy/MM/dd"); 

//SimpleDateFormat作为可以指定用户自定义的格式来完成格式化。
    Date d = df.parse(str_time);
}

具体方法演示

package XianChen;

import java.text.DateFormat;
import java.text.SimpleDateFormat;
import java.util.*;

public class LiZi {

    public static void main(String[] args) throws Exception {
        test();
    }
    public static void test() throws Exception {

        // 默认是当前时间建立的日期对象 t1 ==t2
        Date d = new Date();
//      long t1 =d.getTime();
//      long t2 =System.currentTimeMillis(); 

        String str = "2011/10/25";

//      创建一个简单日期格式
//      SimpleDateFormat() 默认格式:15-6-8 下午8:04 
        DateFormat sf = new SimpleDateFormat("yyyy/MM/dd E hh:mm:ss");
//      默认日格式化 
        DateFormat df= DateFormat.getDateInstance(DateFormat.LONG);

//      将给定字符串格式化为日期对象
//      d=sf.parse(str);//  报异常 与 给定格式不符"yyyy/MM/dd hh:mm:ss“

//      格式化给定日期
        String time =sf.format(d);
        System.out.println(time);
//      2015/06/08 星期一 08:06:55

        String timed =df.format(d);
        System.out.println(timed);  
//              2015年6月8日

    }
}

Calendar:日历类

public static void method(){
    Calendar c = Calendar.getInstance();
    System.out.println(c.get(Calendar.YEAR)+"年"+(c.get(Calendar.MONTH)+1)+"月"
                    +getNum(c.get(Calendar.DAY_OF_MONTH))+"日"
                    +"星期"+getWeek(c.get(Calendar.DAY_OF_WEEK)));
}
public static String getNum(int num){
    return num>9 ? num+"" : "0"+num;
}
public static String getWeek(int index){
/*
查表法:建立数据的对应关系.
最好:数据个数是确定的,而且有对应关系。如果对应关系的一方,是数字,而且可以作为角标,那么可以通过数组来作为表。
*/
    String[] weeks = {"","日","一","二","三","四","五","六"};
    return weeks[index];
}
代码演示
package XianChen;

import java.text.DateFormat;
import java.text.SimpleDateFormat;
import java.util.*;

public class LiZi {

    public static void main(String[] args) throws Exception {
//      test();
        calender();
    }
    public static void calender() {


        // 在具有默认语言环境的默认时区内使用当前时间构造一个默认的 GregorianCalendar
            Calendar calendar = new GregorianCalendar();

        // 创建一个Date
            Date trialTime = new Date();

        // 看看当前的trialTime
            System.out.println("Date : " + trialTime);

        // 使用给定的 Date 设置此 Calendar 的时间。
            calendar.setTime(trialTime);

        // 这个就是输出年
            System.out.println("YEAR: " + calendar.get(Calendar.YEAR));

        // 这是一个特定于日历的值。一年中的第一个月是 JANUARY,它为 0;最后一个月取决于一年中的月份数。

        // 所以依次类推,输出月要+1,不然结果不是想要的效果
            System.out.println("MONTH: " + calendar.get(Calendar.MONTH + 1));

        // 指示当前年中的星期数
            System.out.println("WEEK_OF_YEAR: " + calendar.get(Calendar.WEEK_OF_YEAR));

        // 指示当前月中的星期数
            System.out.println("WEEK_OF_MONTH: " + calendar.get(Calendar.WEEK_OF_MONTH));

        // 查看是几号
            System.out.println("DATE: " + calendar.get(Calendar.DATE));

        // 当前月的第几天
            System.out.println("DAY_OF_MONTH: " + calendar.get(Calendar.DAY_OF_MONTH));

        // 当前年的第几天
            System.out.println("DAY_OF_YEAR: " + calendar.get(Calendar.DAY_OF_YEAR));

        // 指示一个星期中的某天
            System.out.println("DAY_OF_WEEK: " + calendar.get(Calendar.DAY_OF_WEEK));
//          定义星期表 通过查表法返回正确星期数:
            String[] weeks = {"","日","一","二","三","四","五","六"};
            System.out.println("today is 星期"+weeks[calendar.get(Calendar.DAY_OF_WEEK)]);
//          today is 星期一
        // 当前天在这个月的第几个星期
            System.out.println("DAY_OF_WEEK_IN_MONTH: " + calendar.get(Calendar.DAY_OF_WEEK_IN_MONTH));

        // 判断是AM还是PM 中午之前还是在中午之后。,如果输出0是AM 上午,如果输出1是PM下午
            System.out.println("AM_PM: " + calendar.get(Calendar.AM_PM));

        // HOUR 用于 12 小时制时钟 ,假设现在上下午3点,则输出3
            System.out.println("HOUR: " + calendar.get(Calendar.HOUR));

        // 输出当前小时在这天的值,假设现在是下午3点,则输出15
            System.out.println("HOUR_OF_DAY: " + calendar.get(Calendar.HOUR_OF_DAY));

        // 输出分钟
            System.out.println("MINUTE: " + calendar.get(Calendar.MINUTE));

        // 输出秒
            System.out.println("SECOND: " + calendar.get(Calendar.SECOND));

        // 输出毫秒
            System.out.println("MILLISECOND: " + calendar.get(Calendar.MILLISECOND));

        // 以毫秒为单位指示距 GMT 的大致偏移量。
            System.out.println("ZONE_OFFSET: "
                + (calendar.get(Calendar.ZONE_OFFSET) / (60 * 60 * 1000)));

        // 以毫秒为单位指示夏令时的偏移量。
            System.out.println("DST_OFFSET: " + (calendar.get(Calendar.DST_OFFSET) / (60 * 60 * 1000)));
    }
    public static void test() throws Exception {
    }
}
/*
        运行结果:
        Date : Mon Jun 08 21:53:00 CST 2015
        YEAR: 2015
        MONTH: 24
        WEEK_OF_YEAR: 24
        WEEK_OF_MONTH: 2
        DATE: 8
        DAY_OF_MONTH: 8
        DAY_OF_YEAR: 159
        DAY_OF_WEEK: 2
        today is 星期一
        DAY_OF_WEEK_IN_MONTH: 2
        AM_PM: 1
        HOUR: 9
        HOUR_OF_DAY: 21
        MINUTE: 53
        SECOND: 0
        MILLISECOND: 424
        ZONE_OFFSET: 8
        DST_OFFSET: 0
 */


——- android培训java培训、期待与您交流! ———-

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值