ICode9

精准搜索请尝试: 精确搜索
首页 > 编程语言> 文章详细

Java 常见的系统类

2021-07-30 20:01:17  阅读:134  来源: 互联网

标签:Java 常见 系统 System println date Calendar public out


1、日期

java.util 包提供了 Date 类来封装当前的日期和时间。

1.1 Date的使用:

获取当日时间:

public class date {
	public static void main(String[] args) {
		Date date = new Date();
		System.out.println(date.toString());
	}
}

运行结果:

Fri Jul 30 09:45:03 CST 2021

1.2 Calendar日历类

Calendar类是一个抽象类,在实际使用时实现特定的子类的对象,创建对象的过程对程序员来说是透明的,只需要使用getInstance方法创建即可。

Calendar类对象信息的设置

设置:set
举例:

public static void main(String[] args) {
		Calendar cal = Calendar.getInstance();
		cal.set(Calendar.DATE,17);                 //设置日期为17号
		System.out.println(cal.get(Calendar.DATE));//打印日期
	}

运行结果:

17

Add设置:

public static void main(String[] args) {
		Calendar cal = Calendar.getInstance();
		System.out.println(cal.get(Calendar.DATE) +"||"+ (cal.get(Calendar.MONTH)+1));//
		cal.add(Calendar.DATE, 5);
		System.out.println(cal.get(Calendar.DATE));
	}

1.3 DateFormat类

DateFormat 是日期/时间格式化子类的抽象类,它以与语言无关的方式格式化并分析日期或时间。日期/时间格式化子类(如 SimpleDateFormat)允许进行格式化(日期 -> 文本)、分析(文本-> 日期)和标准化。将日期表示为 Date 对象,或者表示为从 GMT(格林尼治标准时间)1970 年1 月 1 日 00:00:00 这一刻开始的毫秒数。

在创建 DateFormat 对象时不能使用 new 关键字,而应该使用 DateFormat 类中的静态方法 getDateInstance(),示例代码如下:

public static void main(String[] args) {
		Date date = new Date();
		DateFormat d = DateFormat.getDateInstance();//格式化,精确到日
		DateFormat t = DateFormat.getDateTimeInstance();//格式化,精确到时分秒
		System.out.println(d.format(date));
		System.out.println(t.format(date));
	}

运行结果:

2021-7-30
2021-7-30 18:52:51

1.4 SimpleDateFormat

SimpleDateFormat 是一个以与语言环境有关的方式来格式化和解析日期的具体类,它允许进行格式化(日期→文本)、解析(文本→日期)和规范化。SimpleDateFormat 使得可以选择任何用户定义的日期/时间格式的模式。
举例:

public static void main(String[] args) {
		Date date = new Date();
		SimpleDateFormat sdf =new SimpleDateFormat("yyyy/MM/dd HH:mm:ss" );
		System.out.println(sdf.format(date));
	}

运行结果:

2021/07/30 19:00:30

1.5 JDK8 新的时间API

LocalDate获取当前时间:

public static void main(String[] args) {
		LocalDate date = LocalDate.now();
		System.out.println(date);//获取当前时间
		System.out.println(date.getYear());//获取当前的年份(同获取月和日方法一样)
	}
2021-07-30
2021

LocalTime获取当前时间:

public static void main(String[] args) {
		LocalTime date = LocalTime.now();
		System.out.println(date);
		System.out.println(date.getSecond());
	}

运行结果:

19:11:10.703
10

LocatDateTime获取当前时间:

public static void main(String[] args) {
		LocalDateTime date = LocalDateTime.now();
		System.out.println(date);
		System.out.println(date.getYear());
		System.out.println(date.getSecond());
	}

运行结果:

2021-07-30T19:12:52.921
2021
52

DateTimeFormatter获取当前时间:

public static void main(String[] args) {
		DateTimeFormatter d = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss");
		System.out.println(LocalDateTime.now().format(d));
		
	}

运行结果:

2021-07-30 19:26:28

Instant获取当前时间:

public static void main(String[] args) {
		Instant date = Instant.now();
		System.out.println(date);
	}

运行结果:

2021-07-30T11:15:27.855Z

2. 常用格式化

2.1 NumberFormat

NumberFormat类是Java提供的一个格式化数字的类,可以将一串数字转化成自己想要的数据格式,也可以将字符串转化成数值。
NumberFormat类包含了两个重要的方法,format()和parse();其中format()方法负责将数字转化成字符串,parse()负责将字符

  1. getInstance()、getNumberInstance()。返回当前默认语言环境的通用数值格式。
  2. getInstance(Locale)、getNumberInstance(Locale)。返回指定语言环境的通用数值格式。
  3. NumberFormat.setMinimumIntegerDigits(int)。设置数的整数部分所允许的最小位数。
  4. NumberFormat.setMaximumIntegerDigits(int)。设置数的整数部分所允许的最大位数。
  5. NumberFormat.setMinimumFractionDigits(int)。设置最少小数点位数,不足的位数以0补位,超出的话按实际位数输出。
  6. NumberFormat.setMaximumFractionDigits(int)。设置最多保留小数位数,不足不补0。

2.2 DecimalFormat

DecimalFormat 是 NumberFormat 的一个具体子类,用于格式化十进制数字。
DecimalFormat 包含一个模式 和一组符号 :

“0”:一个数字
“#” :一个数字,不包括0、小数的分隔符的占位符
“,”:分组分隔符的占位符
“;”: 分隔格式。

“-”: 缺省负数前缀。

“%” :乘以 100 和作为百分比显示

“?” :乘以 1000 和作为千进制货币符显示;用货币符号代替;如果双写,用国际货币符号代替
“X” :前缀或后缀中使用的任何其它字符,用来引用前缀或后缀中的特殊字符。

2.3 BigDecimal

用来对超过16位有效位的数进行精确的运算。

add(BigDecimal) BigDecimal对象中的值相加,然后返回这个对象。
subtract(BigDecimal) BigDecimal对象中的值相减,然后返回这个对象。 multiply(BigDecimal) BigDecimal对象中的值相乘,然后返回这个对象。 divide(BigDecimal)BigDecimal对象中的值相除,然后返回这个对象。

标签:Java,常见,系统,System,println,date,Calendar,public,out
来源: https://blog.csdn.net/CDC_hjl/article/details/119237734

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有