JAVA

日期计算:

public class Main {
public static void main(String[] args){
	String s1="1970 1 1";
	String s2="1970 1 3";
//计算日期时间差值,调用函数参数类型不一样*/
System.out.println("第一种方法转换为:"+Between_day(s1,s2));
/*
SimpleDateFormat format = new SimpleDateFormat("yyyy MM dd * hh:mm:ss");/*设置日期格式*/ 
* Date d1=format.parse(s1);
* Date d2=format.parse(s2);
 * System.out.println("第二种方法转换为:"+between_day(d1,d2));*/
//****计算某个时间增加减少(添加负号即可)天数之后的日期**********/
		addday();
	}



//方法1字符串传递参数/*传递两个字符串变量
private static int Between_day(String smdate,String bdate){
SimpleDateFormat sdf=new SimpleDateFormat("yyyy MM dd");
Calendar cal= Calendar.getInstance();
/*应该是获得系统原始时间,1970……,作为参考,然后可以比较给出的两个时间的差值*/

cal.setTime(sdf.parse(smdate));
/*直接类型转换为SinpledateFormat*/
long time1=cal.getTimeInMillis();/*获得第一个日期的毫秒级时间*/
cal.setTime(sdf.parse(bdate));
long time2=cal.getTimeInMillis();/*获得第一个日期的毫秒级时间*/
long bet_days=(time2-time1)/(1000*3600*24);/*相减获得时间差值,转化为天数*/

return Integer.parseInt(String.valueOf(bet_days));/*转化为字符串,返回数值*/
	}



//方法二
private static int between_day(Date smdate,Date bdate) throws ParseException{
SimpleDateFormat sdf=new SimpleDateFormat("yyyy MM dd");
Calendar cal=Calendar.getInstance();
//如果参数就是字符串,一下两步骤省略着一步转换sdf.format(smdate)
smdate=sdf.parse(sdf.format(smdate));/*,先转化为String,格式化之后,之后在将String对象转换为日期,其他一样*/
bdate=sdf.parse(sdf.format(bdate));
cal.setTime(smdate);
long time1=cal.getTimeInMillis();
cal.setTime(bdate);
long time2=cal.getTimeInMillis();
long bet_day=(time2-time1)/(3600*1000*24);
return Integer.parseInt(String.valueOf(bet_day)); }


//增加天数
private static void addday(){
Date d= new Date();//获得当前时间
SimpleDateFormat format = new SimpleDateFormat("yyyy MM dd hh:mm:ss");/*设置日期格式*/ 
Calendar cal= Calendar.getInstance();

String date = format.format(d);
//将simpleDateFormat格式转换为字符串“当前类型.format”
System.out.println("现在的日期是:" + date);

/****也可以自己输入时间添加时间****/
String s1=”2015 05 2”;
d=format.parse(s1);
cal.setTime(d);
/增加这段代码即*不添加直接获得当前系统时间/
cal.add(Calendar.DATE, 30);
// .DATA 增加天 30为增加的天数,可以改变的
//.MONTH 增加月
//.YEAR 增加年
d = cal.getTime();
String backTime = format.format(d);
//重新转化为字符串即可
System.out.println("增加天数以后的日期:" + backTime);
		}
}

大数计算:

mport java.util.*;
import java.math.*;//相当于头文件
public class Main{// 程序提交时候的命名规则,必须Main
public static void main(String[] args){
Scanner cin=new Scanner(System.in);
		BigDecimal a=new BigDecimal(0);//定义变量,初始化,带小数点的大数
		BigDecimal b=new BigDecimal(0);
BigDecimal c,c1,c2,c3,c4,c5;
		while(cin.hasNext()){//相当于eof
		 a=cin.nextBigDecimal();
		 b=cin.nextBigDecimal();
		 c=a.add(b);//a+b
c1=a.substract(b);//a-b
c2=a.multiply(b);//a*b
c3=a.pow(b);//a的b次幂
c4=a.remainder(b);//a%b
/* if(s.equals(“bye”))//判断字符串是否相等*/
if(b.compareTo(BigDecimal.ZERO)!=0)//判断除数是否为零
c3=a.divide(b,2,4);//表示a/b,保留两位小数,四舍五入,(>4,入)
if(c.compareTo(BigDecimal.ZERO)==0){//保证不会输出0.0
//-1,0,1分别表示大于、等于、小于
	System.out.println("0");
			}else{
System.out.println(result.stripTrailingZeros().toPlainString());
	}}}}


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值