java学习第十四天续

一. 日期格式化

1. Date转化为字符串

package com.qfedu;

import java.text.DateFormat;
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Calendar;
import java.util.Date;

public class Demo01 {

	public static void main(String[] args) throws ParseException {
		int i;
		i = 4;
		
		Date now = new Date();
		
		System.out.println(now);  //	Fri Dec 02 10:26:08 CST 2022
		
		/*
		 * 对日期进行格式化,把日期排列成我们想要看的形式    Date -- string
		 * 
		 * 2022/12/2  10:28    12/2/2022  10:28
		 * 
		 * yyyy : 年
		 * MM   : 月
		 * dd	: 日
		 * 
		 * HH  	 :时
		 * mm	: 分
		 * ss	: 秒
		 * 
		 * 2022/12/2  10:28		yyyy/MM/dd HH:mm
		 * 
		 */
		
		// ctrl+t
		DateFormat df = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
		String str = df.format(now);
		
		System.out.println(str);
		
		
		
		
		/*
		 * 有一个日期类型的字符串,对它进行操作
		 */
		
		String dateStr = "2022/09/01 22:23:24";   //获取这个日期两年五个月三个星期后的那个星期的星期三日期
		
		//把string -- date
		DateFormat df2 = new SimpleDateFormat("yyyy/MM/dd HH:mm:ss");
		Date date = df2.parse(dateStr);
		System.out.println(date);
		
		
		// date  -- calendar
		Calendar cal = Calendar.getInstance();
		cal.setTime(date);   //把Date类型转化为Calendar
		
		//两年五个月三个星期后的那个星期的星期三日期
		cal.add(Calendar.YEAR, 2);
		cal.add(Calendar.MONTH, 5);
		cal.add(Calendar.WEEK_OF_YEAR, 3);
		
		cal.set(Calendar.DAY_OF_WEEK, 4);
		
		/*
		 * 2022/09/01 22:23:24
		 * 
		 * 2025/02/01 22:23:24  Sat Feb 22 22:23:24 CST 2025
		 */
		System.out.println(cal.getTime());
		
		
		
		String str2 = "2022-06-03 22:11:44";
		/*
		 * 获取该日期,五年,三个月零20天后的那个月的最后一天    所在星期的第一天下午三点四十分的时间
		 * 
		 * 展示格式    月-日-年  时:分:秒
		 */
		DateFormat df3 = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
		Date date2 = df3.parse(str2);
		
		Calendar cal2 = Calendar.getInstance();
		cal2.setTime(date2);
		
		
		//五年,三个月零20天后
		cal2.add(Calendar.YEAR, 5);
		cal2.add(Calendar.MONTH, 3);
		cal2.add(Calendar.DAY_OF_YEAR, 20);
		
		System.out.println(cal2.getTime());
		
		//五年,三个月零20天后的那个月的最后一天
		cal2.set(Calendar.DATE, 1);
		cal2.add(Calendar.MONTH, 1);
		cal2.add(Calendar.DATE, -1);
		
		System.out.println(cal2.getTime());
		
		//所在星期的第一天
		cal2.set(Calendar.DAY_OF_WEEK, 1);
		
		//下午三点四十分的时间
		cal2.set(Calendar.HOUR, 15);
		cal2.set(Calendar.MINUTE, 40);
		
		System.out.println(cal2.getTime());
	}
	
}

2. 字符串转化为Date

package com.qfedu;

import java.util.Date;

public class Demo02 {

	public static void main(String[] args) {
		
		/*
		 * 获取当前时间距离1970-01-01 00:00:00的毫秒数
		 * 
		 * 作用和date.getTime();是一样的
		 * 
		 */
		long time1 = System.currentTimeMillis();
		
		System.out.println(time1);
		
		Date date = new Date();
		long time2 = date.getTime();
		
		System.out.println(time2);
		
		long time3 = System.currentTimeMillis();	
		
		System.out.println("程序执行的时间(毫秒):"+(time3 - time1));
		
	//	System.exit(11);    //return
		
		System.out.println("我还在后面呢-----");
	}
}

二. System类

  • currentTimeMillis()
  • exit()
package com.qfedu;

import java.util.Date;

public class Demo02 {

	public static void main(String[] args) {
		
		/*
		 * 获取当前时间距离1970-01-01 00:00:00的毫秒数
		 * 
		 * 作用和date.getTime();是一样的
		 * 
		 */
		long time1 = System.currentTimeMillis();
		
		System.out.println(time1);
		
		Date date = new Date();
		long time2 = date.getTime();
		
		System.out.println(time2);
		
		long time3 = System.currentTimeMillis();
		
		
		
		System.out.println("程序执行的时间(毫秒):"+(time3 - time1));
		
		
	//	System.exit(11);    //return
		
		System.out.println("我还在后面呢-----");
		
	}
    
}

三. BigDecimal精确计算

package com.qfedu;

import java.math.BigDecimal;

public class Demo03 {

	public static void main(String[] args) {
		double d = 1.0;
		double d2 = 0.9;
		
		double r = d - d2;
		System.out.println(r);
		
		BigDecimal bd1 = new BigDecimal("1.0");
		BigDecimal bd2 = new BigDecimal("0.9");
		
		//减
		BigDecimal r2 = bd1.subtract(bd2);
		
		System.out.println(r2);
	}
    
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值