精华内容
下载资源
问答
  • 在做前端校验的时候,要做日期比较的校验,在js中把字符串转化为日期,一时之间还真不知道在js中怎么把一个字符串格式的日期转化为Date,查看了一些资料,在此分享下。 下面以调用js中Date(year,month,day)来生成一...
    [size=large]
    在做前端校验的时候,要做日期比较的校验,在js中把字符串转化为日期,一时之间还真不知道在js中怎么把一个字符串格式的日期转化为Date,查看了一些资料,在此分享下。
    下面以调用js中Date(year,month,day)来生成一个日期对象。
    [/size]
    [size=large]1.把字符串格式转换为日期的函数,函数接受两个参数,dateStr字符串日期格式, separator日期格式分隔符,默认是-。,这里没有对字符串的日期格式做校验,因为大部分的日期都是通过日期控件选择的,在此没做校验。[/size]

    var stringToDate = function(dateStr,separator){
    if(!separator){
    separator="-";
    }
    var dateArr = dateStr.split(separator);
    var year = parseInt(dateArr[0]);
    var month;
    //处理月份为04这样的情况 if(dateArr[1].indexOf("0") == 0){
    month = parseInt(dateArr[1].substring(1));
    }else{
    month = parseInt(dateArr[1]);
    }
    var day = parseInt(dateArr[2]);
    var date = new Date(year,month -1,day);
    return date;
    }




    [size=large]2.js中的日期比较,直接可以使用 > < 操作符用来比较日期对象,比如下面的函数,比较两个日期对象,但是不能用 == 直接比较日期,所以这里用毫米数比较[/size]

    var compareDate = function(date1,date2){
    return date1> date2;
    }
    //比较日期相等
    var equals = function(date1,date2){
    return date1.getTime() == date2.getTime();
    }


    [size=large]注意,js中的日期对象的月份是0-11,不是1-12。把字符串格式转化为日期格式是应把月份减去一,比如你把“2013-12-21”转化为时间类型,会是2014-1-21。[/size]
    展开全文
  • new Date("month dd,yyyy hh:mm:ss"); new Date("month dd,yyyy"); new Date(yyyy,mth,dd,hh,mm,ss); new Date(yyyy,mth,dd); new Date(ms);//ms是毫秒数,也就是时间戳 ...time=time.rep...

    new Date("month dd,yyyy hh:mm:ss");

    new Date("month dd,yyyy");

    new Date(yyyy,mth,dd,hh,mm,ss);

    new Date(yyyy,mth,dd); new Date(ms);//ms是毫秒数,也就是时间戳

     

    var time="2014-08-12 09:25:24 ";
    time=time.replace(/-/g,':').replace(' ',':');
    time=time.split(':');
    var time1 = new Date(time[0],(time[1]-1),time[2],time[3],time[4],time[5]);
    console.log("time1"+time1);

    var timetsprm = time1.getTime(); //获取时间戳

    展开全文
  • C#中 怎么比较2个字符串类型的日期大小 格式是XXXX—XX—XX 谢谢 
  • 今天朋友问我怎么方便的比较两个日期之间的差,想了下日期方面用的还是比较多的,晚上回来简单写了下 其中localeStringToDate这个方法原本只是为了将情况1中的字符串转为date,后来想着都用这个算了 结果这个方法...

    今天朋友问我怎么方便的比较两个日期之间的差,想了下日期方面用的还是比较多的,晚上回来简单写了下
    其中localeStringToDate这个方法原本只是为了将情况1中的字符串转为date,后来想着都用这个算了
    结果这个方法最终比较冗杂,有时间会简化 下面是代码

    import org.jetbrains.annotations.NotNull;
    
    import java.text.ParseException;
    import java.text.SimpleDateFormat;
    import java.util.Date;
    import java.util.Scanner;
    
    /***
     * 日期大小比较工具类
     * @author psyduck
     * @version 1.0
     */
    public class DateComparison {
    
        /***
         * main方法
         * @param args
         * @throws ParseException 控制台输入错误的情况下引发
         */
        public static void main(String[] args) throws ParseException {
            //假设从前端接到参数 日期A 日期B(分别以js tolocaleString所得日期和layui日期控件所得日期举例)或从控制台获取日期
            DateComparison dc = new DateComparison();
    
            //js tolocaleString所得日期解决方案
            String TimeStartFromJs = "2020/11/29 上午10:18:01";
            String TimeEndFromJs = "2019/1/21 下午3:12:27";
    
            Date dateTimeStartFromJs = dc.localeStringToDate(TimeStartFromJs);
            Date dateTimeEndFromJs = dc.localeStringToDate(TimeEndFromJs);
    
            String Comparison = dc.dateComparison(dateTimeStartFromJs,dateTimeEndFromJs);
            System.out.println(Comparison);
            //layui所得日期解决方案
    //        String timeStartFromLayui = "2020-11-02";
    //        String timeEndFromLayui = "2020-11-25";
    //
    //        timeStartFromLayui = timeStartFromLayui.replaceAll("-","/");
    //        timeEndFromLayui = timeEndFromLayui.replaceAll("-","/");
    //
    //        timeStartFromLayui += " 00:00:00";
    //        timeEndFromLayui += " 00:00:00";
    //
    //        Date dateTimeStartFromLayui = dc.localeStringToDate(timeStartFromLayui);
    //        Date dateTimeEndFromLayui = dc.localeStringToDate(timeEndFromLayui);
    //        String Comparison = dc.dateComparison(dateTimeStartFromLayui,dateTimeEndFromLayui);
    //        System.out.println(Comparison);
            //从控制台获取日期解决方案
    //        Scanner sc = new Scanner(System.in);
    //        System.out.println("请输入第一个时间:格式yyyy/MM/dd HH:mm:ss");
    //        String timeStart = sc.nextLine();
    //        System.out.println("请输入第二个时间:格式yyyy/MM/dd HH:mm:ss");
    //        String timeEnd = sc.nextLine();
    //
    //        Date dateTimeStart = dc.localeStringToDate(timeStart);
    //        Date dateTimeEnd = dc.localeStringToDate(timeEnd);
    //
    //        String Comparison = dc.dateComparison(dateTimeStart,dateTimeEnd);
    //        System.out.println(Comparison);
    
        }
    
        /***
         * 这个方法用于把在JS中通过localeString方法所得的日期字符串
         * 处理为yyyy-MM-dd HH:mm:ss 格式的日期并返回
         * @param localeString 在JS中通过localeString方法所得的日期字符串
         * @return 格式化过的Date
         */
        public Date localeStringToDate(String localeString) throws ParseException {
            Date date;
            SimpleDateFormat sdf;
            if(localeString.contains("下午")){
                localeString = localeString.replaceAll("下午","");
                sdf = new SimpleDateFormat("yyyy/MM/dd HH:mm:ss");
                date = sdf.parse(localeString);
                date.setTime(date.getTime()+(1000*3600*12));
                return date;
            }else if (localeString.contains("上午")){
                localeString = localeString.replaceAll("上午","");
                sdf = new SimpleDateFormat("yyyy/MM/dd HH:mm:ss");
                date = sdf.parse(localeString);
            }
            sdf = new SimpleDateFormat("yyyy/MM/dd HH:mm:ss");
            date = sdf.parse(localeString);
            return date;
        }
    
        /***
         * 通过比较毫秒数得出差额再转换为天/时/分/秒
         * @param dateTimeA 比较的第一个日期
         * @param dateTimeB 比较的第二个日期
         * @return 比较结果
         */
        public String dateComparison(@NotNull Date dateTimeA, @NotNull Date dateTimeB){
            long small = dateTimeA.getTime();
            long big  = dateTimeB.getTime();
            long num = big-small;
            long day =num/1000/3600/24;
            long hour = (num - day*24*3600*1000)/1000/3600;
            long min  =(num-day*24*3600*1000-hour*3600*1000)/1000/60;
            long second  = (num-day*24*3600*1000-hour*3600*1000-min*60*1000)/1000;
            return "你的日期输入时间差为:"+day+"天"+hour+"小时"+min+"分"+second+"秒";
        }
    }
    
    

    最后更新于2020年11月30日凌晨0:36分
    原创不易,如果该文章对你有所帮助,望左上角点击关注~如有任何技术相关问题,可通过评论联系我讨论,我会在力所能及之内进行相应回复以及开单章解决该问题.

    该文章如有任何错误请在评论中指出,感激不尽,转载请附出处!
    个人博客首页:https://blog.csdn.net/yjrguxing ——您的每个关注和评论都对我意义重大

    展开全文
  • 日期对象之时间比较

    2018-03-19 14:58:00
    日期对象之时间比较 17:35:00 、 19:20:11 ...其实时间的比较有现成方法的,只要将字符串转成日期对象是直接可以比较大小的 t1 = new Date('2018-8-8 17:35:00') t2 = new Date('2018-8-8 19:2...

    日期对象之时间比较

    17:35:0019:20:11

    当你拿到这两个字符串要去比大小的时候,你会怎么做?

    其实时间的比较有现成方法的,只要将字符串转成日期对象是直接可以比较大小的

    t1 = new Date('2018-8-8 17:35:00')
    t2 = new Date('2018-8-8 19:20:11')
    console.log(t1<t2)  //true
    

    再拓展下大家经常会用到的 时间段重合的判断,可以写成这样

    //左大 小于 右小 即重合
    三次大小判断

    这个比较过程是先将日期对象转成时间戳进行的比较
    日期转时间戳的方法有很多:

    1. new Date().valueOf()
    2. Date.now() //绝大部分浏览器兼容
    2. +new Date('2018-9-8 1:1') 
    3. Date.parse('2018-9-8 1:1') //精确到秒
    4. new Date().getTime()
    

    拓展 – >将时间戳转换为日期。

    复制代码

    var t = 1536339660000;  // 当参数为数字的时候,那么这个参数就是时间戳,被视为毫秒.。
    console.log(new Date(t)) 
    
    var t2 = "2018-8-8 12:00:00";
    console.log(new Date(t2))
    
    var t3 = "2018-1";
    console.log(new Date(t3)) // 必须要年月,其他默认0
    
    展开全文
  • 如何把单元格中的数字提取出来(字符串中不连续) 数字在字符串中不连续如何提取数字 用如何提取“-”前后的字符 怎样删去﹕后的文字 怎样只取“.”之后的文字﹖ 获取单元格内容中字符串 如何提取一串数字中的几位...
  • C#基础类库

    2018-07-11 08:45:26
    6.从字符串里随机得到,规定个数的字符串. 复制代码 22.条形码 BarCodeToHTML 本类是个条码生成类,大家可根据需要自己设置,非常好用 23.图片 ImageClass 主要功能有:缩略图片,图片水印,文字水印,调整光暗...
  • EXCEL函数公式集

    热门讨论 2010-03-16 03:26:38
    如何把单元格中的数字提取出来(字符串中不连续) 数字在字符串中不连续如何提取数字 用如何提取“-”前后的字符 怎样删去﹕后的文字 怎样只取“.”之后的文字﹖ 获取单元格内容中字符串 如何提取一串数字中的几位...
  • 当文件在不同目录下,需要获取数据库连接字符串(如果连接字符串放在Web.config,然后在Global.asax中初始化) 31. 变量.ToString() 32、变量.Substring(参数1,参数2); 33.在自己的网站上登陆其他网站:(如果你...
  • 你必须知道的495个C语言问题

    千次下载 热门讨论 2015-05-08 11:09:25
    6.22 如何在一个文件中判断声明为extern的数组的大小(例如,数组定义和大小在另一个文件中)?sizeof操作符似乎不行。 6.23 sizeof返回的大小是以字节计算的,怎样才能判断数组中有多少个元素呢? 第7章 内存...
  • 12.5 对字符串进行操作的标准库函数有哪些? 12.6 对内存进行操作的标准库函数有哪些? 12.7 怎样判断一个字符是数字、字母或其它类别的符号? 12.8 什么是“局部环境(locale)”? 12.9 有没有办法从一个或多...
  • C语言编程要点

    2017-09-18 00:10:37
    12.5. 对字符串进行操作的标准库函数有哪些? 173 12.6. 对内存进行操作的标准库函数有哪些? 176 12.7. 怎样判断一个字符是数字、字母或其它类别的符号? 178 12.8. 什么是“局部环境(locale)”? 179 12.9. 有没有办法...
  • previous up contents next C 语言常见问题集 原著:Steve Summit 翻译:朱群英, 孙 云 修订版 0.9.4, 2005年6月23日... o 8.6 我有个函数, 本该返回一个字符串, 但当它返回调用者的时候, 返回串却是垃圾信息。 ...
  • 《你必须知道的495个C语言问题》

    热门讨论 2010-03-20 16:41:18
    书中列出了C用户经常问的400多个经典问题,涵盖了初始化、数组、指针、字符串、内存分配、库函数、C预处理器等各个方面的主题,并分别给出了解答,而且结合代码示例阐明要点。 《你必须知道的495个C语言问题》结构...
  • 1.23 能否声明和传入数组大小一致的局部数组,或者由其他参数指定大小的参数数组? 13 1.24 我在一个文件中定义了一个extern数组,然后在另一个文件中使用,为什么sizeof取不到数组的大小? 13 声明问题 14 ...
  • orcale常用命令

    2009-08-04 00:34:59
    9、查看数据库的创建日期和归档方式 Select Created, Log_Mode, Log_Mode From V$Database; 四、ORACLE用户连接的管理 用系统管理员,查看当前数据库有几个用户连接: SQL> select username,sid,serial# from v$...
  • javascript函数的解释

    2011-02-26 11:03:52
    37.返回字符串2在字符串1中出现的位置:String1.indexOf("String2")!=-1则说明没找到. 38.取字符串中指定位置的一个字符:StringA.charAt(9); 39.取出字符串中指定起点和终点的子字符串:stringA.substring(2,6); 40....
  • C#基类库(苏飞版)

    2014-05-16 23:11:45
    6.从字符串里随机得到,规定个数的字符串. 复制代码 22.条形码 BarCodeToHTML 本类是个条码生成类,大家可根据需要自己设置,非常好用 23.图片 ImageClass 主要功能有:缩略图片,图片水印,文字水印,调整光暗...
  • 数据类型指定变长字符串,用法类似 数据类型,可以指定一 个不超过的正整数作为字符长度,例如: 。如果未指定长度,缺省为 在系统中, 数据类型的实际最大长度由数据库页面大小决定,具体最 大长度算法如表 的区别...
  • 8.5.5 显示日期一部分的字符串值 237 8.5.6 使用DATEPART显示日期一部分的整数值 237 8.5.7 使用YEAR、MONTH和DAY显示日期一部分的整数值 238 8.6 类型转换 238 8.6.1 转换数据类型 238 8.6.2 将日期...
  • 参数如果等于指定的字符串,则条件成立,运行命令,否则运行下一句。(注意是两个等号) 如if "%1"=="a" format a: if {%1}=={} goto noparms if {%2}=={} goto noparms 2、if exist 文件名 待执行的命令 如果有...
  • 你必须知道的495个C语言问题(PDF)

    热门讨论 2009-09-15 10:25:47
    回指向字符的指针的函数的指针的数组? . . . . . . . . . . . . . . 3 1.8 函数只定义了一次, 调用了一次, 但编译器提示非法重定义了。. . 4 1.9 main() 的正确定义是什么? void main() 正确吗? . . . . . . . . ...
  • java面试宝典

    2013-02-28 16:04:01
    56、写一个函数,要求输入一个字符串和一个字符长度,对该字符串进行分隔。 14 59、Java 编程,打印昨天的当前时刻。 15 60、java 和javasciprt 的区别。 15 61、什么时候用assert? 16 62、error和exception有什么...
  • 千方百计笔试题大全

    2011-11-30 21:58:33
    56、写一个函数,要求输入一个字符串和一个字符长度,对该字符串进行分隔。 14 59、Java 编程,打印昨天的当前时刻。 15 60、java 和javasciprt 的区别。 15 61、什么时候用assert? 16 62、error和exception有什么...
  • 最新Java面试宝典pdf版

    热门讨论 2011-08-31 11:29:22
    给一个 Bean 的 message 属性, 字符串类型, 注入值为 "Hello" 的 XML 配置文件该怎么写? 125 19、Jdo是什么? 125 20、什么是spring的IOC AOP 126 21、STRUTS的工作流程! 126 22、spring 与EJB的区别!! 126 八. ...
  • Java面试宝典2010版

    2011-06-27 09:48:27
    给一个 Bean 的 message 属性, 字符串类型, 注入值为 "Hello" 的 XML 配置文件该怎么写? 19、Jdo是什么? 20、什么是spring的IOC AOP 21、STRUTS的工作流程! 22、spring 与EJB的区别!! 八. 软件工程与设计...

空空如也

空空如也

1 2 3 4
收藏数 62
精华内容 24
关键字:

日期字符串怎么比较大小