Date & Calendaer

本文介绍了Java中日期和时间的处理,包括Date对象的创建、年月日获取,以及SimpleDateFormat用于格式化的使用。同时讲解了Calendar类的使用,如获取月份和星期的方法。这些基础知识对于Java开发人员来说至关重要。

Date创建新对象是空参的话,创建当前时间的日期对象

1:getYear 返回的是当前年份和1900 的差值。

2:getMonth 返回的是0-11(“0”为一月份);

3:getDay:0-6(“0”代表周日)

4:SimpleDateFormat 格式化日期(按规定日期格式输出),

      yyyy-MM-dd(代表“年,月,日”),hh : mm : ss(代表“时,分,秒”)

Calendar抽象类,里面有大量的静态常量;可以通过Instanc()获得对象,该对象是子类对象

1:getYear 返回0-11(“0”为一月份);

2:getDay 返回1-7(“1”代表周日);

`const date a = b` 和 `const date& a = 1` 在 C++ 中有以下区别: ### 语法含义与对象创建 - `const date a = b`:这里 `b` 应该是一个 `date` 类型的对象。该语句会创建一个新的 `date` 类型的常量对象 `a`,并使用对象 `b` 对其进行初始化。这会调用 `date` 类的拷贝构造函数(如果没有自定义拷贝构造函数,会使用编译器生成的默认拷贝构造函数)。示例代码如下: ```cpp #include <iostream> class date { public: date() {} date(const date& other) { std::cout << "Copy constructor called" << std::endl; } }; int main() { date b; const date a = b; return 0; } ``` - `const date& a = 1`:这里需要 `date` 类存在一个接受整数参数的单参数构造函数,且该构造函数没有被 `explicit` 修饰。编译器会创建一个临时的 `date` 对象,然后让常量引用 `a` 绑定到这个临时对象上。示例代码如下: ```cpp #include <iostream> class date { public: date(int day) { std::cout << "Constructing date with day: " << day << std::endl; } }; int main() { const date& a = 1; return 0; } ``` ### 性能开销 - `const date a = b`:由于涉及对象的复制,调用拷贝构造函数会有一定的性能开销,尤其是当 `date` 类包含大量数据或者复杂的资源管理时。 - `const date& a = 1`:只是创建一个引用,没有额外的复制开销,只是创建临时对象时会调用构造函数。 ### 对象生命周期 - `const date a = b`:对象 `a` 的生命周期和普通对象一样,直到其作用域结束。 - `const date& a = 1`:绑定的临时对象的生命周期会被延长,直到引用 `a` 的作用域结束。 ### 可修改性 - `const date a = b`:对象 `a` 是常量对象,不能通过 `a` 修改其成员变量。 - `const date& a = 1`:引用 `a` 是常量引用,不能通过 `a` 修改其绑定的临时对象的成员变量。
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值