Java—包装类、Date和SimpleDateFormat、Calendar类
- 包装类
基本数据类型不能调用方法,功能简单,为了让基本数据类型也具备对象的特性,Java为每个基本数据类型提供了一个包装类,这样就可以像操作对象那样来操作基本数据类型。
基本类型和包装类之间的对应关系:
包装类主要提供了两大类方法:
- 将本类型和其他类型进行转换的方法
- 将字符串和本类型及包装类互相转换的方法
以Integer包装类为例,介绍包装类的特性:
Integer包装类的构造方法
Integer包装类的常用方法
- 基本类型和包装类之间的转换
以Integer为例。JDK1.5引入自动装箱和拆箱的机制,使包装类和基本类型之间的转换更轻松了。
1.装箱:把基本类型转换成包装类,使其具有对象的性质,分为自动装箱和手动装箱。
int i = 3;//定义一个int基本类型
Integer m = new Integer(5);//手动装箱
Integer n = i;//自动装箱
2.拆箱:把包装类对象转换成基本类型的值,分为手动拆箱和自动拆箱
Integer m = new Integer(5);
int x = m.intValue();//手动拆箱
int y = m;//自动拆箱
- 基本类型转换为字符串类型
1.使用包装类的toString()方法
2.使用String类的valueOf()方法
3.用一个空字符串加上基本类型,得到的就是基本类型数据对应的字符串
int c = 12;
String str1 = Integer.toString(c);
String str2 = String.valueOf(c);
String str3 = c + "";
- 字符串转化成基本类型
1.调用包装类的parseXxx静态方法
2.调用包装类的valueOf 方法转换为基本类型的包装类,会自动拆箱
String d = "13";
int i1 = Integer.parseInt(d);
int i2 = Integer.valueOf(d);
- 使用Date和SimpleDateFormat类表示时间
处理日期和时间的相关数据,我们可以使用java.util包中的Date类。使用Date类的默认无参构造方法创建出的对象表示当前时间。
可以使用SimpleDateFormat类来对日期时间进行格式化,如可以将日期转换为指定格式的文本,也可以将文本转换为日期。
package cn.test;
import java.text.SimpleDateFormat;
import java.util.Date;
import java.text.ParseException; public class Demo { public static void main(String[] args) {
Date d = new Date();
System.out.println(d); //将日期转换为指定格式的文本
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
String today = sdf.format(d);
System.out.println(today); //将文本转换为日期
String day = "2017年03月27日 16:02:30";
SimpleDateFormat df = new SimpleDateFormat("yyyy年MM月dd日 HH:mm:ss");
try{
Date date = df.parse(day);
System.out.println(date);
} catch (ParseException e) {
System.out.println(e.getMessage());
}
} }
运行结果:
Mon Mar 27 16:14:58 CST 2017
2017-03-27 16:14:58
Mon Mar 27 16:02:30 CST 2017
注意:调用SimpleDateFormat对象的parse()方法时可能会出现转换异常,及ParseException,因此需要进行异常处理;使用Date类时需要导入java.util包,使用SimpleDateFormat时需要导入java.text包。
- Calendar类
Date类最主要的作用就是获取当前时间,同时这个类里面也具有设置时间以及一些其他功能,但由于类本身设计的问题,不建议使用,推荐使用Calendar类进行日期和时间的处理。
java.util.Calendar 类是一个抽象类,可以通过调用 getInstance() 静态方法获取一个 Calendar 对象,此对象已由当前日期时间初始化,即默认代表当前时间,如 Calendar c = Calendar.getInstance();
package com.test;
import java.util.Calendar;
import java.util.Date; public class Demo {
public static void main(String[] args) {
Calendar c = Calendar.getInstance();
int year = c.get(Calendar.YEAR);
int month = c.get(Calendar.MONTH) + 1;
int day = c.get(Calendar.DAY_OF_MONTH);
int hour = c.get(Calendar.HOUR_OF_DAY);
int minute = c.get(Calendar.MINUTE);
int second = c.get(Calendar.SECOND);
System.out.println("现在的时间是:" + year + "-" + month + "-" + day + " " + hour + ":" + minute + ":" + second);
}
}
Calendar 类提供了getTime()方法用来获取Date对象,完成Calendar和Date的转换,还可以通过getTimeInMillis()方法获取此Calendar的时间值,以毫秒没单位。
package com.test;
import java.util.Calendar;
import java.util.Date; public class Demo {
public static void main(String[] args) {
Calendar c = Calendar.getInstance();
Date date = c.getTime();
Long time = c.getTimeInMillis();
System.out.println(date);
System.out.println(time);
}
}
运行结果:
Mon Mar 27 22:02:55 CST 2017
1490623375468
- Math类
Math类位于java.lang包中,包含用户执行基本数学运算的方法,Math类的所有方法都是静态方法,所有可以直接使用类名.方法名,如:Math.round();
常用的方法:
Java—包装类、Date和SimpleDateFormat、Calendar类的更多相关文章
- Java基础 与时间日期相关的类:System -Date -SimpleDateFormat -Calendar类 -解决后缀.000Z 的时区问题
笔记总结: /**与时间相关的类:System_Date_SimpleDateFormat_Calendar类 * 1.system 类下的currentTimeMillis() * 输出从1970年 ...
- Java学习笔记23(Calendar类)
Calendar意味日历,对Date类中的很多方法做了改进 Calendar类是一个抽象类,不可以见对象,需要子类完成实现 不过这个类有特殊之处,不需要创建子类对象,而是使用它的静态方法直接获取: 示 ...
- 06_java 时间获取练习_Date\SimpleDateFormat\Calendar类练习
1.获取当前的日期,并把这个日期转换为指定格式的字符串,如2088-08-08 08:08:08 import java.text.SimpleDateFormat; import java.uti ...
- 时间获取_Date\SimpleDateFormat\Calendar类
1.获取当前的日期,并把这个日期转换为指定格式的字符串,如2088-08-08 08:08:08 import java.text.SimpleDateFormat; import java.uti ...
- [转载]java中Date,SimpleDateFormat
一.Java中的日期概述: 日期在Java中是一块非常复杂的内容,对于一个日期在不同的语言国别环境中,日期的国际化,日期和时间之间的转换,日期的加减运算,日期的展示格式都是非常复杂的问题. 在Java ...
- Java中Date类型的工具类
package com.mytripod.util; import java.text.DateFormat; import java.text.SimpleDateFormat; import ja ...
- 使用 Date 和 SimpleDateFormat 类表示时间、Calendar类和Math类
一. Date 和 SimpleDateFormat类表示时间 在程序开发中,经常需要处理日期和时间的相关数据,此时我们可以使用 java.util 包中的 Date 类.这个类最主要的作用就是获取当 ...
- Java中Date和Calender类的使用方法
查看文章 Java中Date和Calender类的使用方法 2009-10-04 20:49 Date和Calendar是Java类库里提供对时间进行处理的类,由于日期在商业逻辑的应用中占据着 ...
- 木卯先生的笔记---Date类、DateFormat类和Calendar类
1.Date类 1.1 简介 Date类是 java.util 包下面的类,表示特定的瞬间,精确到毫秒. 1.2 方法 1.2.1 Date() 构造方法 public Date() :分配 Date ...
- JAVA中Date类的使用
一. Date类 Date类对象的创建: 1.创建一个当前时间的Date对象 //创建一个代表系统当前日期的Date对象 Date d = new Date(); 2.创建一个我们指定的时间的Date ...
随机推荐
- javascript的offset、client、scroll、screen使用方法
aaarticlea/png;base64,iVBORw0KGgoAAAANSUhEUgAAAfQAAAHuCAYAAABpm/53AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjw
- angularJs增加行的操作
<!-- 编辑窗口 --> <div class="modal fade" id="editModal" tabindex="-1& ...
- csv HTTP简单表服务器
HTTP Simple Table Server Download Performance testing with JMeter can be done with several JMeter in ...
- 利用SharePoint项目改造的Web项目问题——Windows身份验证
最近领导交给一个项目:改造现有的SharePoint项目.UI层是做好的,只需要把实现的所有接口方法重新实现一遍,改造成Web版的实现方式. 现在要做基于Windows身份认证的登陆: 配置IIS—— ...
- css animation fade in
<html> <style> @-webkit-keyframes fadeIn{0%{opacity:0}100%{opacity:1}} @-o-keyframes fad ...
- SpringMVC DeferedResult和servlet3.1 AsyncContext异步请求
先看一个简单的示例: @RequestMapping("/getFuture") public Future<String> getFuture() { System. ...
- vuex 浅认知
什么是Vuex? Vuex 是一个专为 Vue.js 应用程序开发的状态管理模式. 采用了集中式存储管理应用的所有组件的状态,并以相应的规则保证状态以一种可预测的方式发生变化. 什么情况下我应该使用 ...
- sf01_什么是数据结构
数据结构解决什么问题 如何在计算机中存储数据和信息,采用什么样的方法和技巧加工处理这些数据,都是数据结构需要努力解决的问题. 解决问题的步骤 使用计算机解决问题的步骤:分析具体问题得到数学模型,设计解 ...
- Git钩子设置自动构建Jenkins
打开Git仓库,找到对应的项目,点击“仓库设置”,左侧点击“管理Git钩子”,如下图所示: 因为是push之后触发自动构建的,选择“post-receive”进行编辑 #!/bin/bash #提取分 ...
- my.助战选择
ZC:我的选项:铁扇.小白龙.北海龙女.北海龙子(涌浪).老鼠精(避敌锋芒).惠岸.银角 ZC:我的选择(日常速推不是我急需的,慢一点无所谓,我需要过难度):老鼠精(避敌锋芒).银角(首回合隐身,每回 ...