当前位置:首页 > 网络技术 > java截取日期的年月日时间(Java根据年月日查询技巧)(java怎么截取日期的年月日)

java截取日期的年月日时间(Java根据年月日查询技巧)(java怎么截取日期的年月日)

longge2022-03-24 01:46:36网络技术68

最近开发工作过程中遇到一些日期时间相关的问题,发现有些东西都忘了,空闲的时候整理了一下,写了一个工具类。

package com.utils;

import java.text.DateFormat;
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Calendar;
import java.util.Date;

public class DateUtils {
    /**
     * 通过Date类获取时间
     * @return
     */
    public static String getDateByDate(){
        Date date = new Date();
        SimpleDateFormat dateFormat=new SimpleDateFormat("yyyy-HH-dd HH:mm:ss");
        String dateStr=dateFormat.format(date);
        System.out.println(dateStr);
        return dateStr;
    }

    /**
     * 通过Calendar类获取时间
     * @return
     */
    public static String getDateByCalendar(){
        Calendar calendar = Calendar.getInstance();
        Date date=calendar.getTime();
        SimpleDateFormat dateFormat=new SimpleDateFormat("yyyy-HH-dd HH:mm:ss");
        String dateStr=dateFormat.format(date);
        System.out.println(dateStr);
        return  dateStr;
    }

    /**
     * 通过字符串获取时间
     * @param dateStr
     * @return
     */
    public static Date formString(String dateStr){
        SimpleDateFormat dateFormat=new SimpleDateFormat("yyyy-HH-dd HH:mm:ss");
        try {
            Date date=dateFormat.parse(dateStr);
            System.out.println(date);
            return date;
        } catch (ParseException e) {
            e.printStackTrace();
        }
        return null;
    }

    /**
     * 通过时间戳获取时间
     * @param time
     * @return
     */
    public static String  getByLong(long time){
        SimpleDateFormat dateFormat=new SimpleDateFormat("yyyy-HH-dd HH:mm:ss");
        String date=dateFormat.format(time);
        return date;
    }

    /**
     * 获取系统时间,时间戳
     * @return
     */
    public static long getCurrentTime(){
        //方式一
//        Date date = new Date();
//        long time=date.getTime();

        //方式二
        long time=System.currentTimeMillis();
        return time;
    }

    /**
     * 获取当前年月日
     * @return
     */
    public static void getYearMonthDay(){
        //第一种,通过Calendar类获取
        Calendar now = Calendar.getInstance();
        System.out.println("年: " + now.get(Calendar.YEAR));
        System.out.println("月: " + (now.get(Calendar.MONTH) + 1) + "");
        System.out.println("日: " + now.get(Calendar.DAY_OF_MONTH));
        System.out.println("时: " + now.get(Calendar.HOUR_OF_DAY));
        System.out.println("分: " + now.get(Calendar.MINUTE));
        System.out.println("秒: " + now.get(Calendar.SECOND));
        System.out.println("当前时间毫秒数:" + now.getTimeInMillis());
        //第二种,通过Date类获取
        Date date = new Date();
        DateFormat df1 = DateFormat.getDateInstance();//日期格式,精确到日
        System.out.println(df1.format(date));
        DateFormat df2 = DateFormat.getDateTimeInstance();//可以精确到时分秒
        System.out.println(df2.format(date));
        DateFormat df3 = DateFormat.getTimeInstance();//只显示出时分秒
        System.out.println("只显示出时分秒:"+df3.format(date));
        DateFormat df4 = DateFormat.getDateTimeInstance(DateFormat.FULL,DateFormat.FULL); //显示日期,周,上下午,时间(精确到秒)
        System.out.println("显示日期,周,上下午,时间(精确到秒):"+df4.format(date));
        DateFormat df5 = DateFormat.getDateTimeInstance(DateFormat.LONG,DateFormat.LONG); //显示日期,上下午,时间(精确到秒)
        System.out.println("显示日期,上下午,时间(精确到秒):"+df5.format(date));
        DateFormat df6 = DateFormat.getDateTimeInstance(DateFormat.SHORT,DateFormat.SHORT); //显示日期,上下午,时间(精确到分)
        System.out.println("显示日期,上下午,时间(精确到分):"+df6.format(date));
        DateFormat df7 = DateFormat.getDateTimeInstance(DateFormat.MEDIUM,DateFormat.MEDIUM); //显示日期,时间(精确到分)
        System.out.println("显示日期,时间(精确到分):"+df7.format(date));

        String [] dates=new SimpleDateFormat("yyyy-MM-dd").format(date).split("-");
        String year=dates[0];
        String month=dates[1];
        String day=dates[2];
        String [] months=new SimpleDateFormat("HH:mm:ss").format(date).split(":");
        String hour=dates[0];
        String minute=dates[1];
        String seconde=dates[2];
    }

    /**
     * 获取前一段时间/后一段时间
     */
    public static void beforTime(){
        //根据现在时间计算
        Calendar now = Calendar.getInstance();
        now.add(Calendar.YEAR, 1); //现在时间是1年后
        System.out.println(now);
        now.add(Calendar.YEAR, -1); //现在时间是1年前
        System.out.println(now);

        //根据某个特定的时间 date (Date 型) 计算
        Calendar specialDate = Calendar.getInstance();
        specialDate.setTime(new Date()); //注意在此处将 specialDate 的值改为特定日期
        specialDate.add(Calendar.YEAR, 1); //特定时间的1年后
        System.out.println(specialDate);
        specialDate.add(Calendar.YEAR, -1); //特定时间的1年前
        System.out.println(specialDate);
    }

    /**
     * 计算两个日期相差多少小时,分钟,毫秒
     */
    public static void betweenDay() throws ParseException {
        DateFormat df = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
        Date d1 = df.parse("2017-12-20 12:19:19");
        Date d2 = df.parse("2017-12-20 11:40:34");
        long nd = 1000 * 24 * 60 * 60;
        long nh = 1000 * 60 * 60;
        long nm = 1000 * 60;
        long ns = 1000;
        // 获得两个时间的毫秒时间差异
        long diff = d1.getTime() - d2.getTime();
        // 计算差多少天
        long day = diff / nd;
        // 计算差多少小时
        long hour = diff % nd / nh;
        // 计算差多少分钟
        long min = diff % nd % nh / nm;
        // 计算差多少秒//输出结果
        long sec = diff % nd % nh % nm / ns;
        System.out.println(day + "天" + hour + "小时" + min + "分钟"+ sec + "秒");
    }

    public static void main(String[] args) {
//        getDateByDate();
//        formString("2021-15-27 15:42:44");
//        getYearMonthDay();

    }
}
免责声明
本站部分资源来源于互联网 如有侵权 请联系站长删除
龙哥网是优质的互联网科技创业资源_行业项目分享_网络知识引流变现方法的平台为广大网友提供学习互联网相关知识_内容变现的方法。#转载请注明出处!

“java截取日期的年月日时间(Java根据年月日查询技巧)(java怎么截取日期的年月日)” 的相关文章

抖音0基础入门实操系列课程(抖音零基础教程)

抖音0基础入门实操系列课程(抖音零基础教程)

课程介绍课程来自学院的抖音基础入门系列课程。也是抖音新手入门必学课程,主要内容包括引流涨粉变现三管齐下,适用于0基础纯小白实操,视频保姆式精细化演示教学。学习地址百度:https://pan.baid...

最近可能要申请劳动仲裁,备点常识:律师风险代理收费标准(劳动仲裁请律师可以风险代理吗)

最近可能要申请劳动仲裁,备点常识:律师风险代理收费标准(劳动仲裁请律师可以风险代理吗)

风险代理收费是指律师事务所在接受委托时,只收取基础费用,其余服务报酬由律师事务所与委托人就委托事项应实现的目标、效果和支付律师服务费的时间、比例、条件等先行约定。 一、什么叫风险代理、什么是风...

Sublime Text 3版CSS格式化插件Sublime-CSS-Format推荐

Sublime Text 3版CSS格式化插件Sublime-CSS-Format推荐

Sublime-CSS-Format是款很不错的Sublime CSS格式化插件,可安装在Sublime Text 3版本,支持一键格式化CSS/SASS/SCSS/LESS代码,可转换为多种排版格...

CSS修改表单输入框placeholder属性文字颜色(input中placeholder改变字体颜色)

CSS修改表单输入框placeholder属性文字颜色(input中placeholder改变字体颜色)

placeholer是HTML5新增属性,规定可描述输入字段预期值的简短的提示信息,IE10+、Firefox、Opera、Chrome 和 Safari 浏览器支持该属性。 针对不同浏览器修...

恋爱营销学:ABM竟是“百发百中”相亲大法?

恋爱营销学:ABM竟是“百发百中”相亲大法?

一年一度的七夕又来了。虽然正在阅读本文的你,可能还没脱单,但学会了ABM营销理论,或许能快速找到最适合你的另一半。一、什么是ABM?我已经在《ABM(一):用另类方法“拿下”客户》这篇文章中详细阐述了...

日系色彩插画班(日系插画培训)

日系色彩插画班(日系插画培训)

课程介绍 该课程为日系色彩插画班,将针对性提高色彩运用能力,内容涵盖色彩理论、人物塑造、人物上色、服装设计、材质表现、不同风格配色演示、装饰性背景设计等内容!绚丽的色彩运用,潮流的原宿设计,...