`
收藏列表
标题 标签 来源
处理数据的方式 bigdecimal
package com.hu.runable;

import java.math.BigDecimal;

public class BigDecimalTest {

	/**
	 * @param args
	 * 原因:double,int,float ... 数据类型在处理大数据的时候会出现失真情况
	 * BigDecimal 是 用于处理大数据的。
	 * BigDecimal 的一些基本用法,加 ,减 ,乘,除。
	 * 加 :调用BigDecimal 的方法 add(BigDecimal bigDecimal);
	 * 减 :调用BigDecimal 的方法 subtract(BigDecimal bigDecimal);
	 * 乘 :调用BigDecimal 的方法 multiply(BigDecimal bigDecimal);
	 * 除 :调用BigDecimal 的方法 divide(BigDecimal bigDecimal);
	 * 下面通过方法演示一下。
	 */
	public static void main(String[] args) {
		
		BigDecimal bigDecimal1 = new BigDecimal("12.332423455324234");
		BigDecimal bigDecimal2 = new BigDecimal("12.332423455324234");
		
        // BigDecimal 的加法
		BigDecimal bigDecimalAdd = bigDecimal1.add(bigDecimal2);
		System.out.println("加法结果:"+bigDecimalAdd);
		// BigDecimal 的减法
		BigDecimal bigDecimalSubtract = bigDecimal1.subtract(bigDecimal2);
		System.out.println("减法结果:"+bigDecimalSubtract);
		// BigDecimal 的乘法
		BigDecimal bigDecimalMultiply = bigDecimal1.multiply(bigDecimal2);
		System.out.println("乘法结果:"+bigDecimalMultiply);
		// BigDecimal 的除法
		BigDecimal bigDecimalDivide = bigDecimal1.divide(bigDecimal2);
		System.out.println("除法结果:"+bigDecimalDivide);
		// 取值零
		BigDecimal bigDecimalZero = BigDecimal.ZERO;
		System.out.println(bigDecimalZero);
		
	}

}


/***
 * 结果
 * 加法结果:24.664846910648468
 * 减法结果:0E-15
 * 乘法结果:152.088668281431318998122067686756
 * 除法结果:1
 * 0
 */
java日期加减 java, date, simpledateformat
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Date;


public class date1 {

	/**
	 * @param args
	 */
	public static void main(String[] args) {
		try {
			Date d=new Date();   //获取日期。
			SimpleDateFormat df=new SimpleDateFormat("yyyy-MM-dd");   
			Date date1 = df.parse("2014-09-08 10:10:10");
			d=date1;
			System.out.println("今天的日期:"+df.format(d));   
			System.out.println("两天前的日期:" + df.format(new Date(d.getTime() - 2 * 24 * 60 * 60 * 1000)));  
			System.out.println("三天后的日期:" + df.format(new Date(d.getTime() + 3 * 24 * 60 * 60 * 1000)));
		} catch (ParseException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		}
	}
}
java获取日期之间的间隔天数 java, date, calendar, simpledateformat
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Calendar;
import java.util.Date;
/*
 * 处理日期的间隔天数
 * 处理日期的间隔天数
 * 处理日期的间隔天数
 */
public class date {
	
	public static void main(String[] args) {
		SimpleDateFormat sdf=new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
	    
	    //=========================两个String类型的日期相差天数===================================//
	    try {
			long intervalDays = dateControlRange("2014-10-02","2015-02-03");
			System.out.println(intervalDays);
		} catch (ParseException e) {
			e.printStackTrace();
		}
	    //=========================两个String类型的日期相差天数===================================//
	    
	    //=========================两个Date类型的日期相差天数===================================//
	    try {
		    Date date1 = sdf.parse("2014-09-08 10:10:10");  
	        Date date2 = sdf.parse("2014-11-15 00:00:00");
	        System.out.println(daysBetween(date1,date2));
		} catch (ParseException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		} 
	    //=========================两个Date类型的日期相差天数===================================//   
	}
	
	/**
	 * 获取两个日期之间的间隔天数
	 * @param arrivedate
	 * @param balanceDate
	 * @return
	 * @throws ParseException 
	 */
	public static long dateControlRange(String arrivedate,String balanceDate) throws ParseException{
		if("".equals(arrivedate) || null==arrivedate || "".equals(balanceDate) || null==balanceDate ){
			return 999999  ;   //表示间隔天数很大。
		}
		SimpleDateFormat sdf=new SimpleDateFormat("yyyy-MM-dd"); 
		Calendar cal = Calendar.getInstance();    //操作时间的类。默认是设置当前时间。
		
		cal.setTime(sdf.parse(arrivedate));    //设置时间
		long time1 = cal.getTimeInMillis();    //把时间转换成毫秒。
		System.out.println(time1);
		
		cal.setTime(sdf.parse(balanceDate));    //设置时间
        long time2 = cal.getTimeInMillis();     //把时间转换成毫秒。
        System.out.println(time2);
		//获取间隔天数
		long intervalDays=Math.abs((time1-time2)/(1000*60*60*24));

		return intervalDays;
		
	}
	
	/**  
     * 计算两个日期之间相差的天数  
     * @param smdate 较小的时间 
     * @param bdate  较大的时间 
     * @return 相差天数 
     * @throws ParseException  
     */    
    public static int daysBetween(Date smdate,Date bdate) throws ParseException{
    	if(null==smdate || null==bdate){
    		return 999999;
    	}
        SimpleDateFormat sdf=new SimpleDateFormat("yyyy-MM-dd");  
        smdate=sdf.parse(sdf.format(smdate));  //把日期转换成指定格式
        bdate=sdf.parse(sdf.format(bdate));    //把日期转换成指定格式
        
        Calendar cal = Calendar.getInstance();  //操作时间的类。默认是设置当前时间。
        
        cal.setTime(smdate);                      //设置时间
        long time1 = cal.getTimeInMillis();       //把时间转换成毫秒。
        
        cal.setTime(bdate);                      //设置时间
        long time2 = cal.getTimeInMillis();      //把时间转换成毫秒。
        
        long between_days=Math.abs((time2-time1)/(1000*3600*24));  
            
        return Integer.parseInt(String.valueOf(between_days));           
    }
}
Global site tag (gtag.js) - Google Analytics