java实现时间戳的问题

最近公司最一个项目点击产生一个开始的时间,然后过了几个小时,让算时间,开始我以为很简单,但是我想了一下没有那么容易,所以我写好了代码,分享一下,方便下次使用:

  public class addDate {
    
            //测试的方法
            public static void main(String[] args) {
                String date1 = "2009-03-23 08:00:00";
                String time="2.06";
                int x = Integer.parseInt(time.substring(0,1));
                int y = Integer.parseInt(time.substring(2,3))*6;
                String date2=  addDate(date1,x,y);//加1小时方法
                System.out.println(date2);
            }
        
        
            public static String Date(String day, String time){
            // SimpleDateFormat sdf =new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");//完整的时间
            // sdf.format(day)   (这块时间如果是date类型需要转化为String类型)
                String date1=day;
                int x = Integer.parseInt(time.substring(0,1));
                int y = Integer.parseInt(time.substring(2,time.length()))*6;
                String date2=  addDate(date1,x,y);//加1小时方法
                return date2;
            }
        
            public static String addDate(String day, int x,int y)
            {
                SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");//24小时制
                //SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd hh:mm:ss");//12小时制
                Date date = null;
                try
                {
                    date = format.parse(day);
                }
                catch (Exception ex)
                {
                    ex.printStackTrace();
                }
                if (date == null) return "";
                Calendar cal = Calendar.getInstance();
                cal.setTime(date);
                cal.add(Calendar.HOUR, x);//24小时制
                cal.add(Calendar.MINUTE,y);  
                //cal.add(Calendar.HOUR, x);12小时制
                System.out.println(cal);
                date = cal.getTime();
                System.out.println("front:" + date);
                cal = null;
                return format.format(date);
            }
        
        }

上面只是过了几个小时多少分钟 ,这块没有到秒 ,如果要到秒 直接可以加,方法都一样的

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值