zoukankan      html  css  js  c++  java
  • java有关Time类型数据的接收和转换

    一:前言

      有关Time的时间其实很少有用到。但是用到就很纠结了,转换和保存,都是烦人的事情,我自己就在这上面吃过一个亏,所以就加载下来吧!

    二:内容

          (1):被坑的地方

            实体类

    import java.sql.Time;
    
    
    public class Student {
        private Time startTime;
        
        private Time endTime;
    
        public Time getStartTime() {
            return startTime;
        }
    
        public void setStartTime(Time startTime) {
            this.startTime = startTime;
        }
    
        public Time getEndTime() {
            return endTime;
        }
    
        public void setEndTime(Time endTime) {
            this.endTime = endTime;
        }
        
        
    }
    View Code

          测试代码

    public static void main(String[] args) throws ParseException {
            Student s=new Student();
            Time time=new Time(Long.valueOf("41400000"));
                    s.setStartTime(time);
                    time.setTime(Long.valueOf("34200000"));
                    s.setEndTime(time);
                    System.out.println("开始时间-->"+s.getStartTime());
            System.out.println("结束时间--->"+s.getEndTime());
            
    
    }        
    View Code

    这里打印出来会看到开始时间和结束时间变成一样的了。

    这个时候,你就会觉得这里的时间怎么变成一样了。说白了Time还是一个对象,那么在改变对象之后,对象的数据就改变了,那么startTime也就随之改变了。所以这里需要重新包装下

    (二)有关在接口上面接收Time类型数据

    我自己测试的就是app端传入长整形的数据,后台可以直接用Time接收,再进行转换如下

    Time time=new Time(Long.valueOf(receive));//receive是接收到的长整形数据

    (三)有关时间的转换和计算

    (1)有关Date--->Time---->Long之间的转换

    package com.wuhao.alltime;
    
    import java.sql.Time;
    import java.text.ParseException;
    import java.text.SimpleDateFormat;
    import java.util.Date;
    import java.util.Locale;
    
    public class AllTime {
        public static void main(String[] args) {
            SimpleDateFormat sdf=new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
            Date d=new Date();
            //Date ---->long
            long dateToLong=Long.valueOf(d.getTime());
            System.out.println(dateToLong);
            
            //Date--->Time
            Time time=new Time(d.getTime());
            System.out.println(time);
            
            //long---->Time
            Time t=new Time((Long.valueOf("1429686000000")));
            System.out.println(t.toString());
         
            //转换后如:08:30:00
             Time t1=new Time((Long.valueOf("1800000")));
             System.out.println(t1);
             
             //long------>Date
             long l=1429686000000l;//最后是个l
             Date dd=new Date(l);
             System.out.println(dd);
             System.out.println(sdf.format(d));
             
             
             //Time--->long
             Time times=new Time(1800000);
             System.out.println(times.getTime());
             
             //Time--->Date
             Time timedate=new Time((Long.valueOf("1800000")));
            SimpleDateFormat sdfs = new SimpleDateFormat("HH:mm:ss",Locale.getDefault());
            Date dates;
            try {
                dates = sdfs.parse(timedate.toString());
                System.out.println(dates);
            } catch (ParseException e) {
                e.printStackTrace();
            }
             
        }    
    }
    View Code

    有关时间的转换还是很麻烦的。

    (2):有关时间的加减

    package com.wuhao.alltime;
    
    import java.sql.Time;
    import java.text.ParseException;
    import java.text.SimpleDateFormat;
    import java.util.Date;
    import java.util.Locale;
    
    public class DatePlus {
        public static void main(String[] args) {
            String aa="2015-04-28 12:00:00";
            String bb="2015-04-28 15:30:00";
            SimpleDateFormat sd=new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
            SimpleDateFormat sdf = new SimpleDateFormat("HH:mm:ss",Locale.getDefault());
            try {
                Date d1=sd.parse(aa);
                Date d2=sd.parse(bb);
                //一秒等于1000毫秒,再除以60就是分钟,在除以60就是小时
                double c=(d2.getTime()-d1.getTime())/(60*1000);
                System.out.println(c);
                double hours=c/60;
                System.out.println(hours);
                System.out.println(c/3600);
            } catch (ParseException e) {
                e.printStackTrace();
            }
        }
    }
    View Code

    (三)总结

          时间的转换转换多了就还是不错的,总的去进行尝试的。5月三十号毕业答辩啊,我的论文和系统都还没有做,真是烦人啊。希望自己今晚可以把页面给写好。努力

  • 相关阅读:
    史上最简单易懂的Android Pad手机屏幕适配方案
    Android平板开发
    Android TV 开发 (1)
    三大开源java区块链库
    将博客园数据导出到wordpress
    MQTT结构分析
    netty+mqtt
    安卓原生 VideoView实现rtsp流媒体的播放
    【矩阵专题】——矩阵加速
    征战蓝桥 —— 2016年第七届 —— C/C++A组第4题——快速排序
  • 原文地址:https://www.cnblogs.com/wuhao1991/p/4369750.html
Copyright © 2011-2022 走看看