java获取时间并进行计算-创新互联

创新互联专注于企业成都全网营销、网站重做改版、珠山网站定制设计、自适应品牌网站建设、H5技术商城网站建设、集团公司官网建设、成都外贸网站建设公司、高端网站制作、响应式网页设计等建站业务,价格优惠性价比高,为珠山等各大城市提供网站开发制作服务。

前言
SimpleDateFormat使用介绍

提示:以下是本篇文章正文内容,下面案例可供参考

一、SimpleDateFormat是什么?
如果你对java源码比较了解。你会发现java对文字,数字的格式化,是有一个公共的父类的Format。
NumberFormat和DecimalFormat都是它的子类关于数字的。
DateFormat和SimpleDateFormat也是它的子类关于文字的。

要特别注意的是 NumberFormat和DecimalFormat是线程不安全的。 这意味你如果同时有多个线程操作一个format实例对象,会出现意想不到的结果。

解决方法有两个:

  1. 为每个线程都创建一个 format实例,通过ThreadLocal 来给每个线程都产生一个本地实例
  2. 进行外部同步,这个就可以通过关键词 synchronized来进行同步。
  3. 第一种方法 **比较占用内存多,但是速度快,效率高。并发。**第二种方法 **占用内存少,效率低,耗费时间长,毕竟要排队嘛,串行。**具体取舍,看项目的情况

简单通俗来说:就是用来操作一些数字文字的格式的

详细的可以参考api手册上的内容

二、使用步骤 1.定义对象及属性

代码如下(示例):

SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyy-MM-dd");
Calendar calendar = Calendar.getInstance();
Calendar cal = Calendar.getInstance();
String dateString = "";
String dateStringTQ = "";
2.业务代码

代码如下(示例):

if (datetype.equals("year")) {
            datevalue1 = datevalue1 + "-01-01";
            datevalue2 = datevalue2 + "-12-31";
            dateString = Integer.parseInt(datevalue1.substring(0, 4)) - 1 + datevalue1.substring(4);
            dateStringTQ = Integer.parseInt(datevalue2.substring(0, 4)) - 1 + datevalue2.substring(4);
        } else if (datetype.equals("month")) {
            int month = Integer.parseInt(datevalue1.split("-")[1]); //月
            cal.set(Calendar.MONTH, month); //设置当前月的上一个月
            int lastDay = cal.getMinimum(Calendar.DATE); //获取月份中的最小值,即第一天
            if(lastDay<10){
                datevalue1 = datevalue1+"-"+"0"+lastDay;
            }else {
                datevalue1 = datevalue1+"-"+lastDay;
            }

            cal.set(Calendar.DAY_OF_MONTH, lastDay - 1); //上月的第一天减去1就是当月的最后一天
            datevalue2 = simpleDateFormat.format(cal.getTime());
//            calendar.add(com.ibm.icu.util.Calendar.MONTH, 0);
//            calendar.set(com.ibm.icu.util.Calendar.DAY_OF_MONTH, calendar.getActualMaximum(com.ibm.icu.util.Calendar.DAY_OF_MONTH));
//            datevalue2 = simpleDateFormat.format(calendar.getTime());
            calendar.add(com.ibm.icu.util.Calendar.MONTH, -1);
            calendar.set(com.ibm.icu.util.Calendar.DAY_OF_MONTH, calendar.getActualMaximum(com.ibm.icu.util.Calendar.DAY_OF_MONTH));
            StringBuffer buffer = new StringBuffer(simpleDateFormat.format(calendar.getTime()));
            dateString = Integer.parseInt(datevalue1.substring(0, 4)) - 1 + datevalue1.substring(4);
            dateStringTQ = Integer.parseInt(datevalue2.substring(0, 4)) - 1 + datevalue2.substring(4);
        } else {
            dateString = Integer.parseInt(datevalue1.substring(0, 4)) - 1 + datevalue1.substring(4);
            dateStringTQ = Integer.parseInt(datevalue2.substring(0, 4)) - 1 + datevalue2.substring(4);
        }

总结

以上就是后端获取前端方法进行计算,也可以不用传参在后端直接获取当日时间,这个就根据业务需求来做了,然后就是api的使用我也是第一次用到这个,查了api手册之后才明白这个东西的使用,具体的可以看上面图片中展示的介绍

你是否还在寻找稳定的海外服务器提供商?创新互联www.cdcxhl.cn海外机房具备T级流量清洗系统配攻击溯源,准确流量调度确保服务器高可用性,企业级服务器适合批量采购,新人活动首月15元起,快前往官网查看详情吧


本文名称:java获取时间并进行计算-创新互联
转载来源:http://scyanting.com/article/cccigc.html