精华内容
下载资源
问答
  • java 日期
    万次阅读
    2022-02-14 14:41:21

    Java日期的大小比较是工作中常会遇到的问题,目前我找到3种常用的方法。

    一、日期为String类型

    可以使用String的compareTo方法,
    注意日期格式必须一致。

    String date1 = "20220214";
    String date2 = "20210114";
    if(date1.compareTo(date2) > 0) {
    	System.out.println("date1 大于 date2");
    }
    

    二、日期为date类型

    使用Date类型的before() 或 after() 方法

    三、转换为秒比较大小

    将日期转换为Date类型,使用getTime()方法,比较两日期的大小;

      Date date1=df.parse(beginTime);
      Date date2=df.parse(endTime);
    
      long long1 =date1.getTime();
      long long2= date2.getTime();
      if(long1 > long2){
      System.out.println("date1 > date2");
      }
    
    更多相关内容
  • java日期格式

    千次阅读 2022-01-06 10:53:57
    1、java指定日期格式(精确到微秒) yyyy-MM-dd HH:mm:ss.SSSSSS y-年,M-月,d-日,H-小时(24小时制),m-分钟,s-秒,S-毫秒 java只能取到毫秒,微秒级别全是零,但是可以取出到微秒的这种格式化时间戳形式: ...

    1、java指定日期格式(精确到微秒)

    yyyy-MM-dd HH:mm:ss.SSSSSS

    y-年,M-月,d-日,H-24小时制(0-23),h-12小时制(1-12),m-分钟,s-秒,S-毫秒

    java只能取到毫秒,微秒级别全是零,但是可以取出到微秒的这种格式化时间戳形式:

    DateTimeFormatter dateTimeFormatter = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss.SSSSSS");
    LocalDateTime now = LocalDateTime.now();
    System.out.println(now.format(dateTimeFormatter)); //2022-01-06 11:18:20.044000

    2、Oracle指定日期格式(精确到微秒)

    sql书写格式:
    TO_CHAR(systimestamp,'YYYY-MM-DD HH24:MI:SS.FF6')

    java日期格式含义(全):

    • yyyy:年
    • MM:月
    • dd:日
    • hh:1~12小时制(1-12)
    • HH:24小时制(0-23)
    • mm:分
    • ss:秒
    • S:毫秒
    • E:星期几
    • D:一年中的第几天
    • F:一月中的第几个星期(会把这个月总共过的天数除以7)
    • w:一年中的第几个星期
    • W:一月中的第几星期(会根据实际情况来算)
    • a:上下午标识
    • k:和HH差不多,表示一天24小时制(1-24)
    • K:和hh差不多,表示一天12小时制(0-11)
    • z:表示时区
    展开全文
  • JAVA日期的计算

    千次阅读 2021-06-25 18:47:04
    对于日期的计算,本人介绍Date和Calendar 一、Date import java.util.Date; /** * Date日期创建 */ public class TestDate { public static void main(String[] args) { //1、创建java.util.Date,可以表示...

    目录

    一、Date

    二、Calendar

    2.1Calendar与Date的相互转换

    2.2获取时间的年、月、日、时、分、秒

    2.3对时间的设置

    2.4获取当前天数的最大值

    2.5Calendar的时间运算


    一、Date

    import java.util.Date;
    
    /**
     * Date日期创建
     */
    public class TestDate {
        public static void main(String[] args) {
    
            //1、创建java.util.Date,可以表示一个具体的时间点
            Date date = new Date();
            System.out.println(date);
    
        }
    }

    运行结果:

    这样的运行结果很难让我们中国人看懂,所有我们可以使用SimpleDateFormat进行转换成我们能看懂的日期

    /**
     * Date日期创建
     */
    public class TestDate {
        public static void main(String[] args) {
    
            //1、创建java.util.Date,可以表示一个具体的时间点
            Date date = new Date();
            System.out.println(date);
    
            SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
            String format = sdf.format(date);
            System.out.println(format);
    
        }
    }
    

    运行结果:

    那么我怎么对Date的时间进行计算呢,我们就要用到Date本身的getTime()属性来获取Date底层维护的毫秒值

    
    import java.text.SimpleDateFormat;
    import java.util.Date;
    
    /**
     * Date日期创建
     */
    public class TestDate {
        public static void main(String[] args) {
    
            //1、创建java.util.Date,可以表示一个具体的时间点
            Date date = new Date();
            System.out.println(date);
    
            SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
            String format1 = sdf.format(date);
            System.out.println(format1);
    
            long time = date.getTime();
    
            //Date内部维护了一个long值,
            // 这个long值是表示从1970年到目前为止的毫秒数
            System.out.println(time);
    
            //我们可以对这个毫秒值进行运行维护,比如说在这个基础上加上一天。
            time += 24*60*60*1000;
    
            //然后对我们处理后的long重新设置
            date.setTime(time);
            String format2 = sdf.format(date);
            System.out.println(format2);
        }
    }
    

    运行结果:

    所有在Date中对时间的修改,只能从它底层维护的long值进行下手,十分的麻烦,本来我人就勤快,我肯定不会用这种方式来进行时间的计算。对于时间的计算,我更加倾向于Calendar

    二、Calendar

    Calendar它本身是一个抽象类,规定了操作时间的相关方法。Calendar它内部提供了一个静态方法getInstance,该方法可以根据当前系统所在地区获取一个适用的实现类,通常返回的就是GregorianCalendar。话不多说,上代码
    import java.util.Calendar;
    
    /**
     * 关于Calendar接口的使用
     */
    public class DemoCalendar {
        public static void main(String[] args) {
    
            //默认创建出来就是当前的系统时间
            Calendar calendar = Calendar.getInstance();
            System.out.println(calendar);
    
        }
    }
    

    运行结果:

    比Date运行出来的结果还要难看,所以还是要进行转换,怎么进行转化,我们就要使用到

    getTime()和setTime,它们分别有什么作用?

    2.1Calendar与Date的相互转换

    getTime():是将当前的Calendar所表示的时间以Date的形式返回======Calendar  ->  Date

    setTime(date):是使当前Calendar表示给定的Date所表示的时间======Date  ->  Calendar

    
    import java.util.Calendar;
    import java.util.Date;
    
    /**
     * 关于Calendar接口的使用
     */
    public class DemoCalendar {
        public static void main(String[] args) {
    
            //默认创建出来就是当前的系统时间
            Calendar calendar = Calendar.getInstance();
            System.out.println(calendar);
    
            //Calendar->Date
            Date date = calendar.getTime();
            System.out.println(date);
    
            //Date->Calendar
            calendar.setTime(date);
    
    
        }
    }
    

    运行结果:

    2.2获取时间的年、月、日、时、分、秒

    Calendar怎么进行运算,我们可以先看看,Calendar怎么获取当前的年、月、日、时、分、秒

    可以用int get(int field)来获取给定时间分量所对应的值,时间分量应当使用Calendar提供的常量

    
    import java.util.Calendar;
    import java.util.Date;
    
    /**
     * 关于Calendar接口的使用
     */
    public class DemoCalendar {
        public static void main(String[] args) {
    
            Calendar calendar = Calendar.getInstance();
    
            //获取年
            int year = calendar.get(Calendar.YEAR);
            System.out.println("当前年:"+year);
    
            //获取月 注意,月从0开始
            int moth = calendar.get(Calendar.MONTH);
            System.out.println("当前月:"+moth+1);
    
            //获取日
            /*
             * 跟天相关的常量
             * DATE         月中的天
             * DAY_OF_MONTH 月中的天
             * DAY_OF_WEEK  星期中的天
             * DAY_OF_YEAR  年中的天
             */
            int day = calendar.get(Calendar.DATE);
            System.out.println("本月的当前天:"+day);
    
            //获取时
            int hour = calendar.get(Calendar.HOUR_OF_DAY);
            System.out.println("当前时:"+hour);
    
            //获取分
            int m = calendar.get(Calendar.MINUTE);
            System.out.println("当前分钟:"+m);
    
            //获取秒
            int s = calendar.get(Calendar.SECOND);
            System.out.println("当前秒:"+s);
    
            System.out.println(year + "-" + (moth + 1) + "-" + day + " " + hour + ":" + m + ":" + s);
        }
    }
    

    运行结果:

    2.3对时间的设置

    当然,Calendar也提共了对于指定时间分量设置值得方法 void set(int field,int value)

    
    import java.text.SimpleDateFormat;
    import java.util.Calendar;
    import java.util.Date;
    
    /**
     * 关于Calendar接口的使用
     */
    public class DemoCalendar {
        public static void main(String[] args) {
    
            Calendar calendar = Calendar.getInstance();
            /**
             * 举个案例,设置一个时间值为2008-08-08 20:08:08
             */
    
            calendar.set(Calendar.YEAR, 2008);
            calendar.set(Calendar.MONTH, Calendar.AUGUST);
            calendar.set(Calendar.DAY_OF_MONTH, 8);
            calendar.set(Calendar.HOUR_OF_DAY, 20);
            calendar.set(Calendar.MINUTE, 8);
            calendar.set(Calendar.SECOND, 8);
    
            //将设置好的时间进行转化
            SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
            String format = sdf.format(calendar.getTime());
            System.out.println(format);
    
        }
    }
    

    运行结果

    2.4获取当前天数的最大值

    我们也可以通过Calendar提供的方法获取当年,当月的天数

    /**
     * 获取给定时间分量所允许的最大值,参照日期为当前Calendar所表示的日期
     */
    public class CalendarDemo {
    
        public static void main(String[] args) {
            Calendar calendar = Calendar.getInstance();
            int days = calendar.getActualMaximum(Calendar.DAY_OF_YEAR);
            System.out.println("今年一共:" + days + "天");
    
            days = calendar.getActualMaximum(Calendar.DAY_OF_MONTH);
            System.out.println("当月一共:" + days + "天");
        }
    }

    运行结果:

    2.5Calendar的时间运算

    好了,接下来我们来进行Calendar的时间运算

    
    /**
     * 举个栗子:
     * 再过3个月零5天就是我爷爷80岁大寿
     * 请问,爷爷的出生日期?以及星期几?
     *
     */
    public class DemoCalendar {
        public static void main(String[] args) {
    
            Calendar calendar = Calendar.getInstance();
            //先算出爷爷的大寿
            calendar.add(Calendar.MONTH, 3);
            calendar.add(Calendar.DAY_OF_YEAR, 5);
            //开始计算爷爷的出生日期
            calendar.add(Calendar.YEAR, -80);
            //进行转化获取可观的时间
            SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss E");
    
            String format = sdf.format(calendar.getTime());
            System.out.println("爷爷的出生日期是:"+format);
            
    
        }
    }
    

    运行结果:

    展开全文
  • Java日期时间操作的方法

    千次阅读 2021-03-06 02:53:10
    本文实例为大家分享了java日期时间基本操作方法,供大家参考,具体内容如下1. 获得Calendar实例:Calendar c = Calendar.getInstance();2. 定义日期/时间的格式:SimpleDateFormat sdf =new SimpleDateFormat("yyyy-MM...

    本文实例为大家分享了java日期时间基本操作方法,供大家参考,具体内容如下

    1. 获得Calendar实例:Calendar c = Calendar.getInstance();

    2. 定义日期/时间的格式:SimpleDateFormat sdf =new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");

    3. 把日期/时间转换成固定格式,使用SimpleDateFormat的format()方法:String datetime = sdf.format(c.getTime());

    4. 把字符串转换成日期/时间,使用SimpleDateFormat的parse()方法:Date d = sdf3.parse("2016-08-08 16:43:00");

    5. 日期/时间的增加,减少,使用Calendar的add()方法,如将日期减少100天:c.add(Calendar.DATE, -100);

    6. 日期/时间的设置,使用Calendar的set()方法,如将小时设置为0时:c.set(Calendar.HOUR_OF_DAY, 0);

    例子:

    package myCalendar;

    import java.text.ParseException;

    import java.text.SimpleDateFormat;

    import java.util.Calendar;

    import java.util.Date;

    public class myCalendar {

    public static void main(String args[]) throws Exception{

    Calendar c = Calendar.getInstance();

    SimpleDateFormat sdf1 =new SimpleDateFormat("yyyyMMdd");

    SimpleDateFormat sdf2 =new SimpleDateFormat("HHmmss");

    SimpleDateFormat sdf3 =new SimpleDateFormat("yyyyMMddHHmmss");

    SimpleDateFormat sdf4 =new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");

    String date = sdf1.format(c.getTime());

    System.out.println(date);

    String time = sdf2.format(c.getTime());

    System.out.println(time);

    String dt = "20160808162405";

    Date d = sdf3.parse(dt);

    dt = sdf4.format(d);

    c.setTime(d);

    c.add(Calendar.DATE, -100);

    c.set(Calendar.HOUR_OF_DAY, 0);

    c.set(Calendar.MINUTE, 0);

    c.set(Calendar.SECOND, 0);

    System.out.println("100天前:" + sdf4.format(c.getTime()));

    c.add(Calendar.DATE, 200);

    c.set(Calendar.HOUR_OF_DAY, 0);

    c.set(Calendar.MINUTE, 0);

    c.set(Calendar.SECOND, 0);

    System.out.println("100天后:" + sdf4.format(c.getTime()));

    }

    }

    ee0e79f137368912d61e6d8cb8b94da2.png

    以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持脚本之家。

    展开全文
  • java 日期转时间戳,时间戳转为日期

    千次阅读 2021-02-12 19:19:59
    import java.text.ParseException;import java.text.SimpleDateFormat;import java.util.Date;public class test {public static void main(String[] args) {Date d = new Date();String beginDate = "...
  • Java日期格式化

    万次阅读 2019-07-09 12:08:19
    Java日期格式化 public class DateUtils { /** 时间格式(yyyy-MM-dd) */ public final static StringDATE_PATTERN ="yyyy-MM-dd"; /** 时间格式(yyyy-MM-dd HH:mm:ss) */ public final static StringDATE_TIME...
  • java日期和时间戳格式互转

    千次阅读 2022-03-17 13:22:06
    // 将日期格式转换成时间戳 public static void main(String[] args) throws Exception{ String time = "2018-05-12 12:30:59"; Date parse = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").parse(time); Long ...
  • 一文告诉你Java日期时间API到底有多烂

    万次阅读 多人点赞 2021-01-27 06:45:54
    罪状七:Calendar难当大任 从JDK 1.1 开始,Java日期时间API似乎进步了些,引入了Calendar类,并且对职责进行了划分: Calendar类:日期和时间字段之间转换 DateFormat类:格式化和解析字符串 Date类:只用来承载...
  • java日期减去天数得日期Sometimes while working on Java Date, we need to add or subtract some days from it. Here I am providing java example to add days to java date or subtract days to java date object...
  • java 日期转换成字符串

    千次阅读 2022-04-13 15:25:31
    日期转换成字符串格式
  • Java日期格式化(DateFormat类)

    千次阅读 2021-03-01 08:32:40
    格式化日期表示将日期/时间格式转换为预先定义的日期/时间格式...在 Java 中,可以使用 DateFormat 类和 SimpleDateFormat 类和String类来格式化日期,下面详细介绍这两个格式化日期类的使用。DateFormat 类DateForm...
  • Java日期比较大小的几种方式

    万次阅读 2020-11-15 12:09:31
    日期比较在开发里面很是常见,我也踩了不少坑,本文就列举一下Java日期比较的方式 一、字符串String的日期比较 String型的日期通过compareTo()来比较,因为String实现了comparable接口 这里我们比较的是endDate、...
  • java日期加减月份

    千次阅读 2021-01-07 14:53:15
    java日期加减月份 Calendar cal = Calendar.getInstance(); Date date = new Date(); cal.setTime(date); cal.add(Calendar.MONTH,5); SimpleDateFormat sj = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); ...
  • java日期月份转英文格式

    千次阅读 2021-02-28 09:53:30
    如今业务需要在循环中转换很多的日期格式,具体要求如下:// 2019-04-10 >> Apr 10 2019也就是月份转换成英文并放在头部,并在jsp用Struts标签展示出来。java中action。因为有存在Struts自动裁剪年份的情况,...
  • Java日期String和Date的转换

    千次阅读 2022-02-14 14:55:29
    一、String 转 Date String ds=new String("2022-02-14"); Date sd=df.parse(ds); 二、Date 转 String Date d=new Date(); SimpleDateFormat df = new SimpleDateFormat("yyyy-MM-dd"); String ds=df.format(d)...
  • JAVA 日期格式化

    千次阅读 2019-07-07 20:39:47
    最近项目中需要用到SimpleDateFormat 格式化日期,但是因为对日期格式的不熟练...java提供了预定义的日期格式,预定义的日期格式可以满足绝大多数的场景需要。 格式化日期需要两步: 1、通过DateFormat.getDate......
  • Java日期计算

    万次阅读 2019-04-15 14:30:00
    Java日期计算,推荐使用Calendar进行日期加减, 代码示例: public static String calFullDate(Date date, int yearNum, int monthNum, int dateNum,int hourNum) { String result = ""; try { SimpleDate...
  • java 日期

    千次阅读 2022-03-16 17:52:29
    java selenium自动化项目 时间 @Test public void date(){ Calendar cal = Calendar.getInstance(); //日历对象 cal.add(Calendar.DATE,20); //20天后的日期 String Day = new SimpleDateFormat("yyyy-MM-dd")....
  • Java日期解析具有微秒或纳秒精度

    千次阅读 2021-03-01 07:54:25
    java.time SimpleDateFormat和相关的java.util.Date/.Calendar类现在已经过时了Java 8(Tutorial)中的新java.time软件包. 新的java.time类支持nanosecond分辨率.该支持包括解析和生成九位数的小数秒.例如,当您使用...
  • JAVA 日期加减计算

    千次阅读 2019-08-01 19:46:55
    1.获取当前系统时间 Date date = new Date(); 2.实现时间的加减的两种方法 第一种:用java.text.SimpleDateFormat来实现 SimpleDateFormat df=new ...System.out.println("今天的日期:"+df.format(date...
  • java 日期校验yyyymmdd

    千次阅读 2018-09-29 11:10:06
    public class DateUtil { ... * 判断参数的格式是否为“yyyyMMdd”格式的合法日期字符串 * * @author Liang.Wang * @since 02/24/15 * @param str * @return true/false */ public stat...
  • JAVA日期格式输出月份前面不想被自动补0JAVA日期格式输出月份前面不想被自动补0,那么就用SimpleDateFormat("M/dd/yyyy");,一个M。如果想被自动补0,那么就用MM。SimpleDateFormat("MM/dd/yyyy");/*** 返回 2/15/...
  • java日期中文格式转日期格式

    千次阅读 2019-09-29 11:47:56
    java日期中文格式转日期格式 如:2019年10月20日转成日期格式 字符串转日期: public static Date StrToDate(String str) { SimpleDateFormat format = new SimpleDateFormat("yyyy年M月dd日"); Date date = ...
  • 1.由java.util包提供 2.封装了当前日期和时间 3.共有两个构造函数, 无参构造:Date() 使用当前日期及时间初始化对象 有参构造:Date(long number)参数为毫秒数,从1970年1月1日起的 方法 1.after(Date )当前...
  • JAVA 日期Date加减整理

    万次阅读 2018-07-30 23:16:25
    一、充分利用...import java.text.SimpleDateFormat; import java.util.Calendar; import java.util.Date; public class DateTestUtil { public static void main(String[] args) throws Exception...
  • java日期和毫秒值的相互转化

    万次阅读 2019-01-30 15:48:08
    日期和毫秒值的相互转化1.日期转毫秒2.毫秒转日期3.日期的格式化方法一:(常用的)需要将日期转为yyyy-MM-dd格式的方法二:使用simpleDateFormat4.Calendar类 (日期类) 1.日期转毫秒 使用getTime()方法就可以...
  • android java日期计算工具
  • java日期格式(年月日时分秒毫秒)

    千次阅读 2021-03-16 15:23:57
    java日期格式(年月日时分秒毫秒)2020-08-13 07:09阅读数 79package test.remote.tools.combine; import java.text.SimpleDateFormat; importjava.util.Calendar;import java.util.Date; import java.util....
  • JAVA 日期时间比较

    万次阅读 2018-08-13 14:44:16
    JAVA 日期时间比较 SimpleDateFormat的format方法将日期型转化成时间或日期的字符串,然后再比较字符串。 String startTimeStr = new SimpleDateFormat("yyyy-MM-dd hh:mm:ss:SSS").format(new Date());/...
  • java日期转换String

    千次阅读 2018-08-27 16:34:12
    一、SimpleDateForma类 SimpleDateFormat date = new SimpleDateFormat("...String datetime = date.format(new java.util.Date()); 二、Calendar 类 Calendar calendar = Calendar.getIns...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 502,109
精华内容 200,843
关键字:

java 日期