java时间相关

简介: java时间相关

对时间字符串进行比较和处理


     判断当前输入的时间必须是大于当天的23:59:59的:

String dateTime = "2017-12-13 15:50:23"//界面输入时间
        SimpleDateFormat myFormat = new SimpleDateFormat("yyyy-MM-dd 23:59:59")
        Calendar calendar = Calendar.getInstance()
        String mystrdate = myFormat.format(calendar.getTime()) //当天时间精确到23:59:59
        SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss")
        Date beginDate = sdf.parse(dateTime)
        Date endDate = sdf.parse(mystrdate)
        if(endDate.time-beginDate.time>=0){
            print("11111")
        }else{
            print("22222")
        }

     获取当前系统时间:

SimpleDateFormat myFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss")
        Calendar calendar = Calendar.getInstance()
        String mystrdate = myFormat.format(calendar.getTime())
        print(mystrdate)


  判断时间为多久之前进行相关页面的返回:

static String simpleRangeTimes(Long time) {
        Long cTime = getTime().time - time
        if (cTime > 0 && cTime < 600000l) return "刚刚" //0分钟<X<10分钟
        if (cTime > 600000l && cTime < 3600000l) return "1小时前"//10分钟≤X<60分钟,显示“1小时前”
        if (cTime > 3600000l && cTime < 7200000l) return "2小时前"//60分钟≤X<120分钟,显示“2小时前”
        else return formatDate(time, "yyyy-MM-dd")
    }


或者另外一种方式

/**
     * 和当前时间比较,简洁显示
     * 1小时之前,显示到分钟;24小时之前显示到小时;1个月前显示到天
     * @param time
     * @return
     */
    static String simpleRangeTime(Long time) {
        Long cTime = getTime().time - time
        if (cTime < 60000l) return "刚刚"
        if (cTime < 3600000l) return (cTime / (1000 * 60) as int) + "分钟前"
        if (cTime < 86400000l) return (cTime / (1000 * 60 * 60) as int) + "小时前"
        if (cTime < 2592000000l) return (cTime / (1000 * 60 * 60 * 24) as int) + "天前"
        else return "很久以前"
    }


使用时间计算年龄:

/**
     * 计算年龄
     * @param birthday
     * @return
     */
    static int getAge(long birthday) {
        Calendar born = Calendar.getInstance();
        Calendar now = Calendar.getInstance();
        born.setTimeInMillis(birthday)
        now.setTimeInMillis(new Date().getTime())
        def age = now.get(Calendar.YEAR) - born.get(Calendar.YEAR)
        if (now.get(Calendar.DAY_OF_YEAR) < born.get(Calendar.DAY_OF_YEAR)) {
            age -= 1;
        }
        return age
    }
    /**
     * 计算年龄
     * @param birthday , 格式yyyy-MM-dd
     * @return
     */
    static int getAge(String birthday) {
        if (birthday) {
            return getAge(formatDate(birthday))
        }
        return 0
    }


目录
相关文章
|
Java
Java操作时间工具类
Java操作时间工具类
96 0
|
4月前
|
前端开发 JavaScript Java
【前端学java】java中的日期操作(13)
【8月更文挑战第10天】java中的日期操作
27 2
|
开发框架 Oracle Java
【JAVA】十分钟带你了解java的前世今生
【JAVA】十分钟带你了解java的前世今生
113 1
|
Java
Java中时间戳的使用
Java中时间戳的使用
96 1
|
Java
java202303java学习笔记第二十八天-jdk时间-date之2
java202303java学习笔记第二十八天-jdk时间-date之2
78 0
|
Java
java202302java学习笔记第一天-java三大版本
java202302java学习笔记第一天-java三大版本
71 0
java202302java学习笔记第一天-java三大版本
|
Java Linux
Java 获取文件的创建时间
首先,我不得不吐槽一下网上的代码,垃圾中的垃圾!打开一个帖子都是一样的,打开一个一样的,不想说些什么了,而且还有的是依靠 cmd dir 命令,服了,要是正在linux里怎么用?代码先这样,还没来得及时间整理,这个代码是我自己琢磨的,希望可以帮助大家。
205 0
|
Java
java获取这周的开始时间
java获取这周的开始时间
283 0
|
Java API
java时间相关类详解
1.Date 构建Date对象 java.util 包提供了 Date 类来封装当前的日期和时间。 Date 类提供两个构造函数来实例化 Date 对象。 Date主要使用无参构造和long类型创建:
157 0
|
Oracle 前端开发 Java
赶紧收藏,Java 9~Java 17主要更新都在这了
这是James Gosling最近在接受采访时,被问及“Java 的版本一直以来更新得比较快,几个月前发布了最新的 Java 17 版本,但 Java 8 仍然是开发人员使用的主要版本,新版本并未‘得宠’,您认为主要的原因是什么?”时的回答。
赶紧收藏,Java 9~Java 17主要更新都在这了