精华内容
下载资源
问答
  • 日期和时间格式由 日期和时间模式字符串 指定。在 日期和时间模式字符串 中,未加引号的字母 'A' 到 'Z' 和 'a' 到 'z' 被解释为模式字母,用来表示日期或时间字符串元素。文本可以使用单引号 (') 引起来,以免进行...

    日期和时间格式由 日期和时间模式字符串 指定。在 日期和时间模式字符串 中,未加引号的字母 'A' 到 'Z' 和 'a' 到 'z' 被解释为模式字母,用来表示日期或时间字符串元素。文本可以使用单引号 (') 引起来,以免进行解释。所有其他字符均不解释;只是在格式化时将它们简单复制到输出字符串
    白话文的讲:这些A——Z,a——z这些字母(不被单引号包围的)会被特殊处理替换为对应的日期时间,其他的字符串还是原样输出。

    日期和时间模式(注意大小写,代表的含义是不同的)

    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:表示时区  

    (2017-12-28日,更新)

    因为看到了Java 8 里面对日期的格式化操作的API,回头又看了看这个以前的日期格式化。发现,文中的实例不是很全面。不符合湿胸的性格,特地来完善一下。

        private static void formatDataTest() {
            /*
             * 日期转期望格式的字符串
             */
            //HH 和 hh 的差别:前者是24小时制,后者是12小时制。
            StringBuilder sb = new StringBuilder();
            sb.append("yyyy年MM月dd日 HH:mm:ss")
                    .append(" 上下午标志 a")
                    .append(" E")
                    .append(" 一年中的第D天")
                    .append(" 一月中的第F个星期")
                    .append(" 一年中的第w个星期")
                    .append(" 一月中的第W个星期")
                    .append(" Z")
                    .append(" z");
            SimpleDateFormat sdf = new SimpleDateFormat(sb.toString());
            String dateString = sdf.format(new Date());
            System.out.println(dateString);
            /*
             * 字符串转日期
             */
            Date date;
            try {
                date = sdf.parse(dateString);
                System.out.println(date);
            } catch (ParseException e) {
                System.out.println(e.getMessage());
            }
        }

    运行结果:

    2017年12月28日 18:21:731 上下午标志 下午 星期四 一年中的第362天 一月中的第4个星期 一年中的第52个星期 一月中的第5个星期 +0800 CST
    Thu Dec 28 18:21:00 CST 2017

    这里多说一句,一个月中的第几个星期,  F   这个出来的结果,不靠谱,具体我就在这多做测试啦,我是测试过,才这么说的,还是后面的那个  W  靠谱。

    (更新完成)

    具体简单常见的实例:

    package com.lxk.DateFormat;
    
    import java.text.SimpleDateFormat;
    import java.util.Date;
    
    /**
     * Created by lxk on 2016/11/4
     */
    public class Format {
        public static void main(String[] args) {
            Date ss = new Date();
            System.out.println("一般日期输出:" + ss);
            System.out.println("时间戳:" + ss.getTime());
            //Date aw = Calendar.getInstance().getTime();//获得时间的另一种方式,测试效果一样
            SimpleDateFormat format0 = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
            String time = format0.format(ss.getTime());//这个就是把时间戳经过处理得到期望格式的时间
            System.out.println("格式化结果0:" + time);
            SimpleDateFormat format1 = new SimpleDateFormat("yyyy年MM月dd日 HH时mm分ss秒");
            time = format1.format(ss.getTime());
            System.out.println("格式化结果1:" + time);
        }
    }
    

    测试结果图:

    需要什么格式,自己拼好字符串,就可以格式化日期啦。授人以渔呀有木有。

    喷子们要是觉得简单呢,就省省唾沫星子吧。我就记个笔记用。

    上面的是:日期转自己想要的字符串格式,下面是字符串转日期类型

        private static void testStringToDate() {
            String s = "2017-05-25";
            SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd");
            Date date = null;
            try {
                date = format.parse(s);
            } catch (ParseException e) {
                System.out.println(e.getMessage());
            }
            System.out.println(date);
        }

    下面是运行的debug截图。

    上面的那个  日期和时间模式  是按我们常用的年月日时分秒来放的,下面传个别人的专业的图,供参考。

    定义了以下模式字母(所有其他字符 'A' 到 'Z' 和 'a' 到 'z' 都被保留):

    我写完文章,给自己点个赞,不过分吧,
    不过分,那我可就点啦啊。
    我先点为敬,你们随意。大家随意。不要客气。。。

    展开全文
  • java日期增加一个月或减少一天

    万次阅读 2017-04-13 15:56:24
    java日期增加一个月或减少一天; 增加或减少月份及天数;

     

    我们在java开发中,遇到一个Date类型的日期,希望在它基础上增加一个月,赋值给另外一个变量,这个时候该如何处理

     

        /**** 
         * 传入具体日期 ,返回具体日期增加一个月。 
         * @param date 日期(2017-04-13) 
         * @return 2017-05-13
         * @throws ParseException 
         */  
        private  String subMonth(String date) throws ParseException {  
            SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");  
            Date dt = sdf.parse(date);  
            Calendar rightNow = Calendar.getInstance();  
            rightNow.setTime(dt);  
            rightNow.add(Calendar.MONTH, 1);  
            Date dt1 = rightNow.getTime();  
            String reStr = sdf.format(dt1);  
            return reStr;  
        }

     

     

     

     

     

    运行结果如下:

    可以看到 传入参数为 2017-04-13 输出结果为 2017-05-13 比原先增加了一个月,符合预期效果。

    如果希望减少一个月  修改代码为  rightNow.add(Calendar.MONTH, -1); 负数即为减少的值  

     

    那么我们又希望在原来日期基础上增加或减少一天,又该如何实现呢? 看以下代码

      /**** 
      * 传入具体日期 ,返回具体日期减少一天 
      * @param date 日期(2017-04-13) 
      * @return 2017-04-12
      * @throws ParseException 
      */  
     private  String subDay(String date) throws ParseException {  
         SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");  
         Date dt = sdf.parse(date);  
         Calendar rightNow = Calendar.getInstance();  
         rightNow.setTime(dt);  
         rightNow.add(Calendar.DAY_OF_MONTH, -1);  
         Date dt1 = rightNow.getTime();  
         String reStr = sdf.format(dt1);  
         return reStr;  
     }

    运行一下,看结果

    输入日期 2017-04-13 输出日期 2017-04-12 比原来减少了一天,符合预期 。

    如果我们希望增加一天 或几天 只需要修改 rightNow.add(Calendar.DAY_OF_MONTH, 1);  正数即为增加天数。 

    那么想把传入的时间减少10分钟,参考方法如下

     /**
         * 将传入的时间减去10分钟并返回
         * @param date
         * @return
         */
        public Date timeProcess(Date date) {
            Calendar rightNow = Calendar.getInstance();
            rightNow.setTime(date);
            rightNow.add(Calendar.MINUTE, -10);
            Date dt1 = rightNow.getTime();
            return dt1;
        }

     

     

    展开全文
  • 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日期计算,推荐使用Calendar进行日期加减,

    代码示例:

    public static String calFullDate(Date date, int yearNum, int monthNum, int dateNum,int hourNum) {
            String result = "";
            try {
                SimpleDateFormat sd = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
                Calendar cal = Calendar.getInstance();
                cal.setTime(date);
                cal.add(Calendar.MONTH, monthNum);
                cal.add(Calendar.YEAR, yearNum);
                cal.add(Calendar.DATE, dateNum);
                cal.add(Calendar.HOUR, hourNum);
                result = sd.format(cal.getTime());
            } catch (Exception e) {
                log.error(e.getMessage(), e);
            }
            return result;
        }

    根据传入的年、月、日、小时,进行日期处理。

    使用下面方式时注意数字类型:

    Date d = new Date();   
    SimpleDateFormat df=new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
    String dateNew = df.format(new Date(d.getTime() - num * 24 * 60 * 60 * 1000L));  
    Date date = df.parse(dateNew);

    用该方式进行日期计算,注意使用Long(长整型),不然会发生下面的错误,示例:

    原意为获取90天前的日期时间,但是计算出来的日期为10日后,当程序继续拿结果日期进行处理,降获取到不准确的数据。

    如果计算的日期时间较短,该方法计算值无问题,示例:

    计算出15日前的时间,获取到正常值

    展开全文
  • 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 日期时间比较

    • SimpleDateFormatformat方法将日期型转化成时间或日期的字符串,然后再比较字符串。

    String startTimeStr = new SimpleDateFormat("yyyy-MM-dd hh:mm:ss:SSS").format(new Date());//2018-08-13 10:22:48.883

    String endTimeStr = new SimpleDateFormat("yyyy-MM-dd hh:mm:ss:SSS").format(new Date());//2018-08-13 10:22:49.225

    字符串时间比较大小

    • date.getTime()
    1. 相加减或直接比较用大于小于号比较

    Date startTime= df.parse(startTimeStr);

    Date endTime= df.parse(endTimeStr);

    if (startTime.getTime() > endTime.getTime()) {

            return true;// startTime在endTime前

    }

    1. compareTo

    compareTo() 方法用于将 Number 对象与方法的参数进行比较。可用于比较 Byte, Double, Integer, Float, Long Short 等。该方法用于两个相同数据类型的比较,两个不同类型的数据不能用此方法来比较。

    10.compareTo(3);//返回值1

    3.compareTo(3);//返回值0

    2.compareTo(3);//返回值-1

    返回值:如果指定的数与参数相等返回0,如果指定的数小于参数返回 -1。如果指定的数大于参数返回 1。

    • Date  after\before\equals直接比较

    1、after:返回值 true如果代表Date对象是严格迟于when表示的时刻; 否则为false。

      if (startTime.after(endTime)){

       //表示startTime晚于endTime

      }else{

       --反之

            }

    2、before:返回值 true如果Date对象在when表示的时刻之前,否则为false。

      if (startTime.before(endTime)){

       //表示startTime早于endTime

      }else{

       --反之

            }

     

    展开全文
  • 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日期中文格式转日期格式

    千次阅读 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 = ...
  • java日期格式大全 format SimpleDateFormat

    千次阅读 2018-07-01 10:04:46
    java日期格式大全 format SimpleDateFormat 原文地址:java日期格式大全 format SimpleDateFormat
  • Java日期操作

    万次阅读 2012-09-26 23:23:08
    Java日期操作 java处理日期时间 相加减 JAVA处理日期时间常用方法:  1.java.util.Calendar  Calendar 类是一个抽象类,它为特定瞬间与一组诸如 YEAR、MONTH、DAY_OF_MONTH、HOUR 等 日历字段之间的...
  • Java 日期区间连续判断

    千次阅读 2018-07-10 20:20:22
    Java 日期区间连续判断 1.需求 开发会计期间维护API 会计期间 期间维护API [要求期间连续] 2.分析 使用定义日期格式为 yyyy-mm-dd 所以采用java8的LocalDate 如何判断区间连续:每一个区间的结束日期+...
  • Java 日期比较大小

    千次阅读 2018-08-01 18:15:00
    Java 日期比较大小 1 import org.junit.Test; 2 3 import java.text.SimpleDateFormat; 4 import java.util.Date; 5 6 /** 7 * @author DateJunit 8 * @Title: DateJunit 9 * @...
  • Java日期相减 计算天数

    千次阅读 2019-05-27 09:55:08
    Java日期相减 计算天数 public static int differentDays(Date beforeDate, Date currentDate) { Calendar cal1 = Calendar.getInstance(); cal1.setTime(beforeDate); Calendar cal2 = Calendar.g...
  • Java日期处理

    千次阅读 2012-08-17 18:55:30
    学习Java日期处理,看见这一篇比较详细,转载之。 转自:http://www.cnblogs.com/hqr9313/archive/2012/04/19/2458221.html 时间日期 1)java中的时间类有:Date和Calendar 2)java中时间类的本质 long(毫秒...
  • Java 日期与数字转换

    万次阅读 2018-05-30 16:42:00
    Java 日期与数字转换 1 package com.test; 2 import org.apache.commons.lang.StringUtils; 3 import org.junit.Test; 4 import java.text.SimpleDateFormat; 5 import java.util.Date; ...
  • Java日期时间格式转换

    千次阅读 2019-04-19 17:16:00
    Java日期时间格式转换 1、Date转String 将日期格式化成指定的格式 public static String stampToDate(Date date) { SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyy-MM-dd"); ...
  • 本篇文章主要介绍一下Calendar类的对时间对一些使用方法:java 日期加减天数、月数、年数的计算方式, java实现给指定日期加固定小时、天、月,java判断当前日期是星期几,java判断某个时间是否在条件时间之内。...
  • java 日期、字符串、时间戳转换

    万次阅读 2018-09-29 16:51:27
    java 日期转时间戳 SimpleDateFormat format = newSimpleDateFormat("yyyy-MM-dd HH:mm:ss"); String time="2018-09-29 16:39:00"; Date date = ...
  • 字段:时间 数据类型byte[6] 描述:BCD格式时间 java日期转成6字节的BCD格式
  • java日期与cron表达式互转工具类

    千次阅读 2019-03-20 11:34:09
    问题:java日期与cron表达式互转工具类 代码如下 import java.text.ParseException; import java.text.SimpleDateFormat; import java.util.Date; /** * @Author Guixing * @Date 2019/3/20 11:19 * @...
  • DataUtils(java日期工具类)

    万次阅读 2016-07-13 20:38:17
    DataUtils(java日期工具类)介绍在java中队日期类型的处理并不方便,通常都需要借助java.text.SimpleDateFormat类来实现日期类型 和字符串类型之间的转换,但是在jdk1.8之后有所改善,jdk1.7以及之前的版本处理日期...
  • java日期+正则

    千次阅读 2018-06-19 16:50:39
    正则是最好用的工具 牢记于心一般java日期的处理 我觉得基本操作吧 就是SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");通过这个 把形如“2018-06-19”的字符串转换成日期(java.util.Date...
  • java 日期选择器(带时间)

    千次阅读 2017-07-01 16:38:14
    java 日期选择器
  • JAVA 日期格式化

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

    千次阅读 2018-04-13 09:06:19
    这里是项目中封装的一个日期格式匹配的工具类package cn.zks.util; import java.text.DateFormat; import java.text.ParseException; import java.text.SimpleDateFormat; import java.util.Calendar; import java....
  • java日期计算

    万次阅读 2016-06-02 12:23:26
    常用的日期计算方法
  • Java 日期比较

    千次阅读 2018-04-23 10:08:41
  • Java日期转换SimpleDateFormat格式大全

    万次阅读 2018-11-02 15:16:46
    public class SimpleDateFormat extends DateFormat SimpleDateFormat 是一个特别敏感的方式格式化和分析数据的具体类...SimpleDateFormat 允许以为日期-时间格式化选择任何用户指定的方式启动。 但是,希望用 Date...
  • Java日期计算溢出问题

    千次阅读 2013-08-14 11:29:59
    Java日期计算中出现溢出的问题
  • 一段java日期字符串: {"date":13,"day":5,"hours":19,"minutes":6,"month":10,"nanos":0,"seconds":41,"time":1605265601000,"timezoneOffset":-480,"year":120} 需要转C#的DateTime 请问怎么转?
  • 利用java日期类生成数据仓库维度表

    千次阅读 2014-10-11 20:19:54
    整理java日期类,利用其在数据仓库日期维度表;
  • java 日期往后加30天(非工作日)

    千次阅读 2020-05-28 15:29:46
    Java 日期往后加30天 非工作日 ## 一开始我是用Long时间戳毫秒来计算,不知怎么地,我得出的时间没有加,反而变少了,所以后面就用了Calendar类进行操作,得出想要的结果 。 ### 下面是打断点得出的时间错误的图 ...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 411,335
精华内容 164,534
关键字:

java日期

java 订阅