Java经常使用日期操作具体解释

Posted liguangsunls

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Java经常使用日期操作具体解释相关的知识,希望对你有一定的参考价值。

Date类型大多数时间分量计算方法已经被Calendar代替
Date经常用法setTime getTime()
new Date();默认获取当前的时间

SimpleDateFormat用来格式化和解析日期的详细类
匹配日期的字符串
y–>年
M–>月
d–>日
E–>星期
a–>上下午
H–>小时(24小时制)
h–>小时(12小时制)
m–>分
s–>秒

格式化Date返回值为String


SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
String result = sdf.format(new Date());
System.out.println(result);

输出结果:2015-07-22 21:17:43

将String解析为Date

SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
String strDate = "2015-07-22 21:21:01";
Date date = sdf.parse(strDate);
System.out.println(date);

输出结果:
Wed Jul 22 21:21:01 CST 2015

Calender封装了日历信息
经常用法:
getInstance()获取一个系统所在地区的一个Calender的子类实现
通经常使用于实例化Calendar
set(int field,int value)设置时间
get(int field)获取时间分量相应值
getActualMaximum(int field)获取时间分量的最大值
add()对时间分量进行计算
setTime和getTime方法设置和获取时间

综合运用:
商品促销计算程序
需求:
用户输入商品生产日期和保质期。通过程序计算促销日期
计算规则:
到保质期前14添所在的周三为促销日

public class PromotionDate {

    public static void main(String[] args) throws Exception {
        Calendar cd = Calendar.getInstance();
        SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
        Scanner sc = new Scanner(System.in);

        System.out.print("请输入生产日期:");
        Date productionDate= sdf.parse(sc.nextLine());//接收字符串并转换为日期型
        System.out.print("请输入保质期:");
        int days = sc.nextInt();

        cd.setTime(productionDate);
        cd.add(Calendar.DAY_OF_YEAR, (days - 14));
        cd.set(Calendar.DAY_OF_WEEK, Calendar.WEDNESDAY);
        String promotionDate = sdf.format(cd.getTime()); //格式化计算后的日期
        System.out.println("该产品的促销日期为:"+ promotionDate);
        sc.close();

    }

}

測试结果:
请输入生产日期:2015-01-01
请输入保质期:180
该产品的促销日期为:2015-06-17






























以上是关于Java经常使用日期操作具体解释的主要内容,如果未能解决你的问题,请参考以下文章

SimpleDateFormat 的 format 方法使用具体解释

boost::filesystem经常使用使用方法具体解释

C#程序员经常用到的10个实用代码片段 - 操作系统

RxJava系列之二 变换类操作符具体解释1

有人可以解释以下 R 代码片段吗? [关闭]

Java多线程具体解释