精华内容
下载资源
问答
  • 日期和时间格式由 日期和时间模式字符串 指定。在 日期和时间模式字符串 中,未加引号的字母 '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' 都被保留):

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

    展开全文
  • 日期时间规范

    万次阅读 2020-06-20 18:17:57
    日期时间 【强制】日期格式化时,传入 pattern 中表示年份统一使用小写的 y。 说明:日期格式化时,yyyy 表示当天所在的年,而大写的 YYYY 代表是 week in which year(JDK7 之后 引入的概念),意思是当天所在的周...

    日期时间

    1. 【强制】日期格式化时,传入 pattern 中表示年份统一使用小写的 y。
      说明:日期格式化时,yyyy 表示当天所在的年,而大写的 YYYY 代表是 week in which year(JDK7 之后
      引入的概念),意思是当天所在的周属于的年份,一周从周日开始,周六结束,只要本周跨年,返回的 YYYY
      就是下一年。
      正例:表示日期和时间的格式如下所示:
      new SimpleDateFormat(“yyyy-MM-dd HH:mm:ss”)
    2. 【强制】在日期格式中分清楚大写的 M 和小写的 m,大写的 H 和小写的 h 分别指代的意义。
      说明:日期格式中的这两对字母表意如下:
      1) 表示月份是大写的 M;
      2) 表示分钟则是小写的 m;
      3) 24 小时制的是大写的H;
      4) 12 小时制的则是小写的 h。
    3. 【强制】获取当前毫秒数:System.currentTimeMillis(); 而不是 new Date().getTime()。 说
      明:如果想获取更加精确的纳秒级时间值,使用 System.nanoTime 的方式。在 JDK8 中,针对统计时间等
      场景,推荐使用 Instant 类。
    4. 【强制】不允许在程序任何地方中使用:1)java.sql.Date 2)java.sql.Time 3)
      java.sql.Timestamp。
      说明:第 1 个不记录时间,getHours()抛出异常;第 2 个不记录日期,getYear()抛出异常;第 3 个在构造
      方法 super((time/1000)*1000),fastTime 和 nanos 分开存储秒和纳秒信息。
      反例: java.util.Date.after(Date)进行时间比较时,当入参是 java.sql.Timestamp 时,会触发 JDK
      BUG(JDK9 已修复),可能导致比较时的意外结果。
    5. 【强制】不要在程序中写死一年为 365 天,避免在公历闰年时出现日期转换错误或程序逻辑
      错误。
      Java 开发手册
      12
      正例:
      // 获取今年的天数
      int daysOfThisYear = LocalDate.now().lengthOfYear();
      // 获取指定某年的天数
      LocalDate.of(2011, 1, 1).lengthOfYear();
      反例:
      // 第一种情况:在闰年 366 天时,出现数组越界异常
      int[] dayArray = new int[365];
      // 第二种情况:一年有效期的会员制,今年 1 月 26 日注册,硬编码 365 返回的却是 1 月 25 日
      Calendar calendar = Calendar.getInstance();
      calendar.set(2020, 1, 26);
      calendar.add(Calendar.DATE, 365);
    6. 【推荐】避免公历闰年 2 月问题。闰年的 2 月份有 29 天,一年后的那一天不可能是 2 月 29
      日。
    7. 【推荐】使用枚举值来指代月份。如果使用数字,注意 Date,Calendar 等日期相关类的月份
      month 取值在 0-11 之间。
      说明:参考 JDK 原生注释,Month value is 0-based. e.g., 0 for January.
      正例: Calendar.JANUARY,Calendar.FEBRUARY,Calendar.MARCH 等来指代相应月份来进行传参或
      比较。
    展开全文
  • new Date() 日期格式处理

    万次阅读 多人点赞 2017-12-25 16:09:16
    1.日期格式转为日期标准字符串:2015-03-19 2.js方法返回值:2015-03-19 12:00:00 调用:formatDate(Date()) formatDate(Date()) 3.时间戳转为日期格式 4.时间格式字符串转为时间戳(毫秒) 如何将2015-03-12 12:00...

    Date 对象常用API

    var myDate = new Date();  
    myDate.getYear(); //获取当前年份(2位)  
    myDate.getFullYear(); //获取完整的年份(4位,1970-????)  
    myDate.getMonth(); //获取当前月份(0-11,0代表1月) 所以获取当前月份是 myDate.getMonth()+1;   
    myDate.getDate(); //获取当前日(1-31)  
    myDate.getDay(); //获取当前星期X(0-6,0代表星期天)  
    myDate.getTime(); //获取当前时间(从1970.1.1开始的毫秒数)  
    myDate.getHours(); //获取当前小时数(0-23)  
    myDate.getMinutes(); //获取当前分钟数(0-59)  
    myDate.getSeconds(); //获取当前秒数(0-59)  
    myDate.getMilliseconds(); //获取当前毫秒数(0-999)  
    myDate.toLocaleDateString(); //获取当前日期  
    var mytime = myDate.toLocaleTimeString(); //获取当前时间  
    myDate.toLocaleString( ); //获取日期与时间  
    

    JS获取当前时间戳的方法:

    Date.parse(new Date()); // 不推荐; 毫秒改成了000显示  
    new Date().valueOf();
    new Date().getTime();
    +new Date().getTime();
    

    js中单独调用 new Date(); 显示这种格式Fri Aug 28 2020 11:03:24 GMT+0800 (中国标准时间)
    但是用 new Date() 参与计算会自动转换为从 1970.1.1 开始的毫秒数

    将字符串形式的日期转换成日期对象:

    var strTime="2011-04-16"; // 字符串日期格式             
    var date= new Date(Date.parse(strTime.replace(/-/g,  "/"))); // 转换成 Data();  
      
    new Date(); // 参数可以为整数; 也可以为字符串; 但格式必须正确  
    new Date(2009,1,1);
    new Date("2009/1/1");
    new Date("2009-1-1"); 
      
    new Date( year, month, date, hrs, min, sec)  // 按给定的参数创建一日期对象   
    

    1.日期格式转为日期标准字符串:2015-03-19

    var formatDate = function (date) {  
        var y = date.getFullYear();  
        var m = date.getMonth() + 1;  
        m = m < 10 ? '0' + m : m;  
        var d = date.getDate();  
        d = d < 10 ? ('0' + d) : d;  
        return y + '-' + m + '-' + d;  
    };  
    

    2.js方法返回值:2015-03-19 12:00:00

    var formatDateTime = function (date) {  
                    var y = date.getFullYear();  
                    var m = date.getMonth() + 1;  
                    m = m < 10 ? ('0' + m) : m;  
                    var d = date.getDate();  
                    d = d < 10 ? ('0' + d) : d;  
                    var h = date.getHours();  
                    h=h < 10 ? ('0' + h) : h;  
                    var minute = date.getMinutes();  
                    minute = minute < 10 ? ('0' + minute) : minute;  
                    var second=date.getSeconds();  
                    second=second < 10 ? ('0' + second) : second;  
                    return y + '-' + m + '-' + d+' '+h+':'+minute+':'+second;  
                };  
    

    3.时间戳转为日期格式

    //时间戳转日期格式  
          var formatDateTime3 = function(time, format){  
              var t = new Date(time);  
              var tf = function(i){return (i < 10 ? '0' : '') + i};  
              return format.replace(/yyyy|MM|dd|HH|mm|ss/g, function(a){  
                  switch(a){  
                      case 'yyyy':  
                          return tf(t.getFullYear());  
                          break;  
                      case 'MM':  
                          return tf(t.getMonth() + 1);  
                          break;  
                      case 'mm':  
                          return tf(t.getMinutes());  
                          break;  
                      case 'dd':  
                          return tf(t.getDate());  
                          break;  
                      case 'HH':  
                          return tf(t.getHours());  
                          break;  
                      case 'ss':  
                          return tf(t.getSeconds());  
                          break;  
                  }  
              })  
          };  
    

    4.时间格式字符串转为时间戳(毫秒)

    var time1=2016-01-01 17:22:37’;  
    var date=new Date(time1.replace(/-/g, '/'));  //开始时间  
    var time2=date.getTime();  
    

    如何将2015-03-12 12:00 转换成标准时间()?

    // 调用:parserDate("2015-03-19 12::00:00")
    var parserDate = function (date) {  
        var t = Date.parse(date);  
        if (!isNaN(t)) {  
            return new Date(Date.parse(date.replace(/-/g, "/")));  
        } else {  
            return new Date();  
        }  
    }; 
    

    转自不忘初心:http://blog.csdn.net/tomcat_2014/article/details/50514979

    补充:
    写一个vue plugin 用于格式化日期时间:

    export function prefixZero (num, n) {
        return (Array(n).join(0) + num).slice(-n);
    } 
    
    /**
     * @param {String | Number} date 当前时间
     * @param {String} format 格式化格式
     *
     * usage:
     *	dateFormatter('2011/1/12 12:12:22', 'yyyy-MM-dd HH:mm:ss')
     * 	dateFormatter(1294805542000, 'yyyy-MM-dd HH:mm:ss')
     */
    export function dateFormatter (date, format) {
      const t = new Date(date)
      console.log(t)
      if (t.toString() === 'Invalid Date') { return 'invalid date' }
      return format.replace(/yyyy|MM|M|WW|W|ww|w|dd|d|HH|H|hh|h|mm|m|ss|s|A|a/g, function(a){  
        switch(a){  
          case 'yyyy': // 年 2011
            return prefixZero(t.getFullYear(), 4);
          case 'MM': 	// 月 01
            return prefixZero(t.getMonth() + 1, 2);
          case 'M': 	// 月 1
            return t.getMonth() + 1;
          case 'WW': 	// 周 01
            return prefixZero(t.getDay(), 2);
          case 'W': 	// 周 1
            return t.getDay();
          case 'ww': 	// 周 星期一
            return "星期" + "日一二三四五六".charAt(t.getDay());
          case 'w': 	// 周 周一
            return "周" + "日一二三四五六".charAt(t.getDay());
          case 'dd': 	// 日 02
            return prefixZero(t.getDate(), 2);
          case 'd': 	// 日 2
            return prefixZero(t.getDate(), 2);
          case 'HH':  // 小时 24小时制 03
            return prefixZero(t.getHours(), 2);
          case 'H':  	// 小时 24小时制 3
            return prefixZero(t.getHours(), 2);
          case 'hh':  // 小时 12小时制 03
            return prefixZero(t.getHours() % 12, 2);
          case 'h':  	// 小时 12小时制 3
            return prefixZero(t.getHours() % 12, 2);
          case 'mm':  // 分钟 04
            return prefixZero(t.getMinutes(), 2);
          case 'm':  	// 分钟 4
            return t.getMinutes();
          case 'ss':  // 秒 05
            return prefixZero(t.getSeconds(), 2);
          case 's':  	// 秒 5
            return t.getSeconds();
          case 'A':  
            return t.getHours() < 12 ? 'AM' : 'PM';
          case 'a':  
            return t.getHours() < 12 ? 'am' : 'pm'; 
        }  
      })  
    }
    
    const dateFormat = {
      install: function (vue) {
        vue.prototype.$dateFormatter = dateFormatter
        vue.filter('date', dateFormatter)
      }
    }
    export default dateFormat
    
    展开全文
  • MySQL 日期和时间戳的转换 | 以及DATE_FORMAT()用法

    万次阅读 多人点赞 2018-12-25 17:47:53
    一、MySQL 日期和时间戳的转换 1.日期转时间戳 select UNIX_TIMESTAMP('2018-12-25 12:25:00'); 结果:1545711900 2.时间戳转日期:FROM_UNIXTIME(unix_timestamp) --unix_timestamp为时间戳 select FROM_...

    给自己做个记录


    一、MySQL 日期和时间戳的转换


    
    1.日期转时间戳
    -- 转十位
    select UNIX_TIMESTAMP('2018-12-25 12:25:00');
    结果:1545711900
    
    -- 转十三位
    SELECT REPLACE(unix_timestamp(current_timestamp(3)),'.','');
    结果:1545711900021
    
    
    2.时间戳转日期:FROM_UNIXTIME(unix_timestamp) --unix_timestamp为时间戳
    
    select FROM_UNIXTIME(1545711900);
    结果:2018-12-25 12:25:00
    
    
    
    3.时间戳转日期,自定义返回日期格式:FROM_UNIXTIME(unix_timestamp,format) -- format请参考后面的截图
    
    select FROM_UNIXTIME(1545711900,'%Y-%m-%d %T');
    -- 结果:2018-12-25 12:25:00
    

    二、DATE_FORMAT(date,format)函数用于以不同的格式显示日期/时间数据

    • date 参数是合法的日期。format 规定日期/时间的输出格式
    • 可以使用的格式有
      在这里插入图片描述
      在这里插入图片描述

    示例:

    
    select DATE_FORMAT(NOW(), '%Y-%m-%d %T');
    结果:2018-12-25 12:25:00
    
    

    展开全文
  • JAVA字符串转日期日期转字符串 项目开发过程中需要实现日期格式的字符串与日期进行互转,并进行日期的加减操作。 Demo如下: package weiming.lmapp.utils; import java.text.ParseException; import java....
  • MySQL中日期时间类型与格式化

    万次阅读 2016-12-01 11:09:12
    Datetime : 时间日期型,格式是YYYY-mm-dd HH:ii:ss,表示的范围是从1000到9999。但是有零值,0000-00-00 00:00:00;Date:日期,就是datetime中的date部分;Time:时间(段),指定的某个区间之间,从-时间到+时间(有...
  • 日期格式化 给日期加上指定时长 得到指定时间节点的Date 1、时间戳转Date 注:以下的方法中很多常量和方法我都没有提取出来,正式项目中还是建议大家封装在时间处理类中,规范化操作 public...
  • HTML5新控件 - 日期和时间选择输入

    万次阅读 2017-09-28 10:36:57
    支持日期控件的浏览器会提供一个方便的下拉式日历,供用户选择。 注意:目前只有Chrome和Opera提供下拉式日历支持,其它浏览器仍是一个普通文本框。 1,日期控件 - date type="date" value="2015-09-24"/>1 2,...
  • HTML 选择浏览器自带日期控件

    万次阅读 2019-08-06 09:59:28
    在HTML5之前,对于这样的页面需求,最常见的方案是用Javascript日期选择组件。这几乎是无可争议、别无选择的做法。...大部分这些日期选择组件都提供将日期填充到指定的输入框里的功能。 HTML5里的dateinp...
  • mysql常用日期转换方法: date_format(date,'%Y-%m-%d') -------------->oracle中的to_char();  str_to_date(date,'%Y-%m-%d') -------------->oracle中的to_date();  %Y:代表4位的年份  %y:代表2为的...
  • 日期工具库.如果不翻墙,是看不到官方文档的,国内文档又很少.以下总结内容为我在最近的一次开发项目中使用. 该使用方法是在angualr5.0环境中使用的. 使用typescript. 函数名 作用 isToday() ...
  • SpringBoot设置后台向前台传递Date日期格式 在springboot应用中,@RestController注解的json默认序列化中,日期格式默认为:2020-12-03T15:12:26.000+00:00类型的显示。 在实际显示中,我们需要对其转换成我们需要...
  • Java SimpleDateFormat进行日期格式化

    万次阅读 多人点赞 2017-10-27 16:58:35
    一,为啥要用SimpleDateFormat众所周知,Java中的日期类是Date,然后日期默认的输出样式很奇怪哦,是这样子的:package org.maoge.common; import java.util.Date; public class SimpleDateFormatDemo { public ...
  • el-date-picker组件中设置默认日期为当前日期方法 html: <el-form-item label="调拨日期:" prop="stockDate"> <el-date-picker :clearable="true" v-model="info.stockDate" type="date" ...
  • java如何获取当前日期和时间

    万次阅读 多人点赞 2019-06-12 18:11:36
    最后一个是LocalDateTime,也是Java中最常用的Date / Time类,代表前两个类的组合 - 即日期和时间的值: LocalDateTime dateTime = LocalDateTime.now(); // get the current date and time format的方式...
  • 为了不用每次新建文件时都要手动添加作者、创建日期等信息,我们可以为Pycharm设置一套模板(IDEA设置也可以参考Pycharm),提高效率。
  • java日期增加一个月或减少一天

    万次阅读 2017-04-13 15:56:24
    java日期增加一个月或减少一天; 增加或减少月份及天数;
  • //日期控制扩展选择日期小于等于当前日期,开始日期小于等于结束日期 $("#datebox1").datebox('calendar').calendar({ validator:function(beginDate){ var date = new Date(); return beginDate ; } }...
  • JS判断当前日期必须大于选择日期

    千次阅读 2019-04-16 15:45:59
    有时候我们需要JS校验判断当前日期必须大于选择日期,这个怎么实现呢?
  • 获取两个日期至今的所有日期包括开始日期和结束日期: /** * 获取两个日期之间的日期 * @param start 开始日期 * @param end 结束日期 * @return 日期集合 */ def getBetweenDates(start: String, end: ...
  • 引入控件使用bootstrap的日期控件需要单独引入bootstrap-datetimepicker.min.css和bootstrap-datetimepicker.min.js 详情及文件可以通过下面地址下载:...
  • &lt;el-date-picker v-model="...选择日期" :picker-options="pickerOptions0"&gt; &lt;/el-date-picker&gt; 选择今天以及今天之后的日期 data (){ return {
  • 本文提供一个方法,可以获取开始日期与结束日期之间所有的日期,并放入数组保存。
  • django日期过滤

    万次阅读 2018-12-05 14:07:01
    # 统计日期:start_date,end_date start_date = self.request.query_params.get('start_date') end_date = self.request.query_params.get('end_date') if start_date and end_date: try: query...
  • WXML 时间选择器(选择时分) 午饭时间: {{time}} 日期选择器(选择年月日) 国庆出游: {{date}} 日期时间选择器(精确到秒) 选择日期时间: {{dateTimeArray[0][dateTime[0]]}}-{{dateTimeArray[1][dateTime[1]]}}...
  • 日期计算器

    万次阅读 2018-09-13 13:29:32
    2.两个日期之间间隔的天数,日期-日期=返回的天数(处理:返回的天数不能为负) 3.打印某年某月本月的日历(处理:1982年十月份) 二 功能分析 三 项目测试点: 功能测试: (1)对输入日...
  • java获取两个日期之间的所有日期集合 解决方法: import java.text.SimpleDateFormat; import java.util.ArrayList; import java.util.Calendar; import java.util.Date; import java.util.List; import org...
  • C语言获取当前的日期及时间

    万次阅读 多人点赞 2018-03-18 10:36:06
    我们在写C语言程序的时候,有的时候会用到读取本机的时间和日期,怎么做呢?其实很简单的,下面简单说一下: C语言中读取系统时间的函数为time(),其函数原型为: #include <time.h> time_t time( time_t *...
  • [142]python获取日期加减之后的日期

    万次阅读 2018-06-24 00:17:40
    python语言中的datetime模块可以利用其中的方法获取不同的日期,比如获取当前日期、明天、昨天、上个月、下个月和明年。下面利用几个实例说明这些日期的获取方法,操作如下: 第一步,利用datetime模块获取当前...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 422,419
精华内容 168,967
关键字:

日期