新的Date(date).getTime();以d/m/y格式读取时间

编程入门 行业动态 更新时间:2024-10-28 13:16:25
本文介绍了新的Date(date).getTime();以d/m/y格式读取时间的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧! 问题描述

我创建了一个示例说明: plnkr.co/edit/HvItQP2uDooaMgK7GRQe?p =预览

它有几个问题.

  • 它不适用于FF(在MAC上).我看不到任何错误.

  • 在Chrome中选择11-04-17至17-04-17后仍然显示2017年3月30日的行

  • 我真的很感谢大家的帮助,请记住我上周刚开始使用JS.我可以阅读代码并(可能)理解其逻辑,但是我还没有清楚地知道如何实现它.

    我正在使用数据表按日期对一些基本数据进行排序.我复制了一个很好的例子此处.日期示例为mm/dd/yyyy格式.

    我需要它以dd/mm/yyyy运行.当我将示例中的日期切换为我需要的格式时,它不再起作用.

    我对JS非常陌生,所以我想这是实现魔术的部分:

    minDateFilter = new Date(date).getTime();

    minDateFilter捕获输入中的数据,.getTime()将其转换为1970年的秒数. .getTime(dateFormat:"dd-mm-yyyy"),但还没有运气.

    如果有人可以在这里帮助我,我将不胜感激.我总是可以使用隐藏字段,但是不能.

    谢谢

    解决方案

    我会字符串#split 字符串,然后将其解析为日期. 根据UTC,您将获得以毫秒为单位的其他值(除非您碰巧是GMT时区).在您仅将其用作排序参考的情况下,使用哪个值都没有关系,只要您对所有值使用相同的类型即可.

    function getTime(value, utc) { // with dd/mm/yyyy then part[0] will be dd, // part[1] will be mm and part[2] will be yyyy var parts = value.split('/'); // Date requires a zero referenced month parts[1] -= 1; if (utc) { return Date.UTC(parts[2], parts[1], parts[0]); } return new Date(parts[2], parts[1], parts[0]).getTime(); } var value = '03/03/2016'; console.log(getTime(value)); console.log(getTime(value, true));

    更新:这超出了您的实际问题,因此不再是主题.但是,答案与您的代码合并,不提供任何保证.如果您不想自己执行此操作,也可以使用包含moments的插件.

    var getTime = function(value, utc) { // with dd/mm/yyyy then part[0] will be dd, // part[1] will be mm and part[2] will be yyyy var parts = value.split('/'); // Date requires a zero referenced month parts[1] -= 1; if (utc) { return Date.UTC(parts[2], parts[1], parts[0]); } return new Date(parts[2], parts[1], parts[0]).getTime(); }; var types = $.fn.dataTable.ext.type; // Add type detection types.detect.unshift(function(d) { var ms = getTime(d); var isValid = typeof ms === 'number' && !isNaN(ms); return isValid ? 'date-x' : null; }); // Add sorting method - use an integer for the sorting types.order['date-x-pre'] = function(d) { return getTime(d); }; // Date range filter var minDateFilter = ''; var maxDateFilter = ''; $.fn.dataTableExt.afnFiltering.push( function(oSettings, aData, iDataIndex) { if (typeof aData._date === 'undefined') { aData._date = getTime(aData[0]); } if (minDateFilter && !isNaN(minDateFilter)) { if (aData._date < minDateFilter) { return false; } } if (maxDateFilter && !isNaN(maxDateFilter)) { if (aData._date > maxDateFilter) { return false; } } return true; } ); var oTable = $('#datatable').DataTable({ oLanguage: { sSearch: 'Filter Data' }, iDisplayLength: -1, sPaginationType: 'full_numbers' }); $('#datepicker_from').datepicker({ showOn: 'button', dateFormat: 'dd/mm/yy', buttonImageOnly: false, onSelect: function(date) { minDateFilter = getTime(date); oTable.draw(); } }).keyup(function() { minDateFilter = getTime(this.value); oTable.draw(); }); $('#datepicker_to').datepicker({ showOn: 'button', dateFormat: 'dd/mm/yy', buttonImageOnly: false, onSelect: function(date) { maxDateFilter = getTime(date); oTable.draw(); } }).keyup(function() { maxDateFilter = getTime(this.value); oTable.draw(); });

    <link href="cdnjs.cloudflare/ajax/libs/datatables/1.10.15/css/jquery.dataTables_themeroller.css" rel="stylesheet" /> <link href="cdnjs.cloudflare/ajax/libs/datatables/1.10.15/css/jquery.dataTables.css" rel="stylesheet" /> <link rel="stylesheet" href="cdnjs.cloudflare/ajax/libs/jqueryui/1.10.2/css/smoothness/jquery-ui-1.10.2.custom.min.css" /> <script src="code.jquery/jquery-2.0.3.min.js"></script> <script src="cdnjs.cloudflare/ajax/libs/jqueryui/1.10.2/jquery-ui.js"></script> <script src="cdnjs.cloudflare/ajax/libs/datatables/1.10.15/js/jquery.dataTables.min.js"></script> <p id="date_filter"> <span id="date-label-from" class="date-label">From: </span><input class="date_range_filter date" type="text" id="datepicker_from" /> <span id="date-label-to" class="date-label">To:</span><input class="date_range_filter date" type="text" id="datepicker_to" /> </p> <table width="100%" class="display" id="datatable"> <thead> <tr> <th>Date</th> <th>ID</th> </tr> </thead> <tbody> <tr> <td>30/03/2017</td> <td><a href="42296/service_request/CS_Reviewed" class="btn btn-default btn-sm">000000617 </a></td> </tr> <tr> <td>30/03/2017</td> <td><a href="42297/service_request/CS_Reviewed" class="btn btn-default btn-sm">000000618 </a></td> </tr> <tr> <td>30/03/2017</td> <td><a href="42298/service_request/CS_Reviewed" class="btn btn-default btn-sm">000000619 </a></td> </tr> <tr> <td>03/04/2017</td> <td><a href="42340/service_request/CS_Reviewed" class="btn btn-default btn-sm">000000620 </a></td> </tr> <tr> <td>03/04/2017</td> <td><a href="42343/service_request/CS_Reviewed" class="btn btn-default btn-sm">000000621 </a></td> </tr> <tr> <td>03/04/2017</td> <td><a href="42344/service_request/CS_Reviewed" class="btn btn-default btn-sm">000000622 </a></td> </tr> <tr> <td>03/04/2017</td> <td><a href="42345/service_request/CS_Reviewed" class="btn btn-default btn-sm">000000623 </a></td> </tr> <tr> <td>03/04/2017</td> <td><a href="42348/service_request/CS_Reviewed" class="btn btn-default btn-sm">000000624 </a></td> </tr> <tr> <td>03/04/2017</td> <td><a href="42350/service_request/CS_Reviewed" class="btn btn-default btn-sm">000000625 </a></td> </tr> <tr> <td>04/04/2017</td> <td><a href="42395/service_request/CS_Reviewed" class="btn btn-default btn-sm">000000626 </a></td> </tr> <tr> <td>05/04/2017</td> <td><a href="42427/service_request/CS_Reviewed" class="btn btn-default btn-sm">000000627 </a></td> </tr> <tr> <td>05/04/2017</td> <td><a href="42446/service_request/CS_Reviewed" class="btn btn-default btn-sm">000000628 </a></td> <tr> <td>05/04/2017</td> <td><a href="42458/service_request/CS_Reviewed" class="btn btn-default btn-sm">000000629 </a></td> </tr> <tr> <td>05/04/2017</td> <td><a href="42461/service_request/CS_Reviewed" class="btn btn-default btn-sm">000000630 </a></td> </tr> <tr> <td>06/04/2017</td> <td><a href="42490/service_request/CS_Reviewed" class="btn btn-default btn-sm">000000631 </a></td> </tr> <tr> <td>06/04/2017</td> <td><a href="42491/service_request/CS_Reviewed" class="btn btn-default btn-sm">000000632 </a></td> </tr> <tr> <td>06/04/2017</td> <td><a href="42493/service_request/CS_Reviewed" class="btn btn-default btn-sm">000000633 </a></td> </tr> <tr> <td>06/04/2017</td> <td><a href="42494/service_request/CS_Reviewed" class="btn btn-default btn-sm">000000634 </a></td> </tr> <tr> <td>06/04/2017</td> <td><a href="42497/service_request/CS_Reviewed" class="btn btn-default btn-sm">000000635 </a></td> </tr> <tr> <td>07/04/2017</td> <td><a href="42531/service_request/CS_Reviewed" class="btn btn-default btn-sm">000000636 </a></td> </tr> <tr> <td>07/04/2017</td> <td><a href="42532/service_request/CS_Reviewed" class="btn btn-default btn-sm">000000637 </a></td> </tr> <tr> <td>07/04/2017</td> <td><a href="42533/service_request/CS_Reviewed" class="btn btn-default btn-sm">000000638 </a></td> </tr> <tr> <td>07/04/2017</td> <td><a href="42539/service_request/CS_Reviewed" class="btn btn-default btn-sm">000000640 </a></td> </tr> <tr> <td>07/04/2017</td> <td><a href="42540/service_request/CS_Reviewed" class="btn btn-default btn-sm">000000641 </a></td> </tr> <tr> <td>07/04/2017</td> <td><a href="42541/service_request/CS_Reviewed" class="btn btn-default btn-sm">000000642 </a></td> </tr> <tr> <td>07/04/2017</td> <td><a href="42542/service_request/CS_Reviewed" class="btn btn-default btn-sm">000000643 </a></td> </tr> <tr> <td>07/04/2017</td> <td><a href="42544/service_request/CS_Reviewed" class="btn btn-default btn-sm">000000644 </a></td> </tr> <tr> <td>08/04/2017</td> <td><a href="42565/service_request/CS_Reviewed" class="btn btn-default btn-sm">000000645 </a></td> </tr> <tr> <td>08/04/2017</td> <td><a href="42566/service_request/CS_Reviewed" class="btn btn-default btn-sm">000000646 </a></td> </tr> <tr> <td>10/04/2017</td> <td><a href="42604/service_request/CS_Reviewed" class="btn btn-default btn-sm">000000647 </a></td> </tr> <tr> <td>10/04/2017</td> <td><a href="42607/service_request/CS_Reviewed" class="btn btn-default btn-sm">000000648 </a></td> </tr> <tr> <td>11/04/2017</td> <td><a href="42636/service_request/CS_Reviewed" class="btn btn-default btn-sm">000000649 </a></td> </tr> <tr> <td>11/04/2017</td> <td><a href="42638/service_request/CS_Reviewed" class="btn btn-default btn-sm">000000650 </a></td> </tr> <tr> <td>11/04/2017</td> <td><a href="42639/service_request/CS_Reviewed" class="btn btn-default btn-sm">000000651 </a></td> </tr> <tr> <td>12/04/2017</td> <td><a href="42661/service_request/CS_Reviewed" class="btn btn-default btn-sm">000000652 </a></td> </tr> <tr> <td>12/04/2017</td> <td><a href="42664/service_request/CS_Reviewed" class="btn btn-default btn-sm">000000653 </a></td> </tr> <tr> <td>15/04/2017</td> <td><a href="42711/service_request/CS_Reviewed" class="btn btn-default btn-sm">000000654 </a></td> </tr> <tr> <td>15/04/2017</td> <td><a href="42712/service_request/CS_Reviewed" class="btn btn-default btn-sm">000000655 </a></td> </tr> </tbody> </table>

    EDIT: I created an example of what I am trying to do: plnkr.co/edit/HvItQP2uDooaMgK7GRQe?p=preview

    There are several problems with it.

  • It does not work in FF (on MAC). No errors that I can see.

  • In chrome after selecting 11-04-17 to 17-04-17 It still shows rows with 30/03/2017

  • I really appreciate everyone's help and again please keep in mind I just started with JS last week. I can read the code and (possibly) understand the logic, but I am not on the level where I can clearly see how to implement it.

    I am using datatables to sort some basic data by dates. There was an excellent example here: that I copied. The example dates are in mm/dd/yyyy format.

    I need it to run in dd/mm/yyyy. When I switch the dates in the example to the format I need it no longer works.

    I am very new to JS so I imagine this is the part that does the magic:

    minDateFilter = new Date(date).getTime();

    minDateFilter grabs the data in the input, and .getTime() converts it to seconds from 1970. I googled around if I can get it to start with day something like .getTime(dateFormat: "dd-mm-yyyy") but no luck yet.

    If anyone could help me out here I'd appreciate it. I can always use a hidden field but rather not.

    Thank you

    解决方案

    I would String#split the string and then parse that into Date. Depending on UTC you will get a different value in ms back (unless you happen to be a GMT timezone). In your case where you are just using this for the sorting reference, it should not matter which value you use, as long as you use the same type for all of them.

    function getTime(value, utc) { // with dd/mm/yyyy then part[0] will be dd, // part[1] will be mm and part[2] will be yyyy var parts = value.split('/'); // Date requires a zero referenced month parts[1] -= 1; if (utc) { return Date.UTC(parts[2], parts[1], parts[0]); } return new Date(parts[2], parts[1], parts[0]).getTime(); } var value = '03/03/2016'; console.log(getTime(value)); console.log(getTime(value, true));

    Update: This is beyond your actual question, and as such is no longer on topic. However, answer merged with your code, no warranty. There are also plugins available, which include moments, if you don't want to do this yourself.

    var getTime = function(value, utc) { // with dd/mm/yyyy then part[0] will be dd, // part[1] will be mm and part[2] will be yyyy var parts = value.split('/'); // Date requires a zero referenced month parts[1] -= 1; if (utc) { return Date.UTC(parts[2], parts[1], parts[0]); } return new Date(parts[2], parts[1], parts[0]).getTime(); }; var types = $.fn.dataTable.ext.type; // Add type detection types.detect.unshift(function(d) { var ms = getTime(d); var isValid = typeof ms === 'number' && !isNaN(ms); return isValid ? 'date-x' : null; }); // Add sorting method - use an integer for the sorting types.order['date-x-pre'] = function(d) { return getTime(d); }; // Date range filter var minDateFilter = ''; var maxDateFilter = ''; $.fn.dataTableExt.afnFiltering.push( function(oSettings, aData, iDataIndex) { if (typeof aData._date === 'undefined') { aData._date = getTime(aData[0]); } if (minDateFilter && !isNaN(minDateFilter)) { if (aData._date < minDateFilter) { return false; } } if (maxDateFilter && !isNaN(maxDateFilter)) { if (aData._date > maxDateFilter) { return false; } } return true; } ); var oTable = $('#datatable').DataTable({ oLanguage: { sSearch: 'Filter Data' }, iDisplayLength: -1, sPaginationType: 'full_numbers' }); $('#datepicker_from').datepicker({ showOn: 'button', dateFormat: 'dd/mm/yy', buttonImageOnly: false, onSelect: function(date) { minDateFilter = getTime(date); oTable.draw(); } }).keyup(function() { minDateFilter = getTime(this.value); oTable.draw(); }); $('#datepicker_to').datepicker({ showOn: 'button', dateFormat: 'dd/mm/yy', buttonImageOnly: false, onSelect: function(date) { maxDateFilter = getTime(date); oTable.draw(); } }).keyup(function() { maxDateFilter = getTime(this.value); oTable.draw(); });

    <link href="cdnjs.cloudflare/ajax/libs/datatables/1.10.15/css/jquery.dataTables_themeroller.css" rel="stylesheet" /> <link href="cdnjs.cloudflare/ajax/libs/datatables/1.10.15/css/jquery.dataTables.css" rel="stylesheet" /> <link rel="stylesheet" href="cdnjs.cloudflare/ajax/libs/jqueryui/1.10.2/css/smoothness/jquery-ui-1.10.2.custom.min.css" /> <script src="code.jquery/jquery-2.0.3.min.js"></script> <script src="cdnjs.cloudflare/ajax/libs/jqueryui/1.10.2/jquery-ui.js"></script> <script src="cdnjs.cloudflare/ajax/libs/datatables/1.10.15/js/jquery.dataTables.min.js"></script> <p id="date_filter"> <span id="date-label-from" class="date-label">From: </span><input class="date_range_filter date" type="text" id="datepicker_from" /> <span id="date-label-to" class="date-label">To:</span><input class="date_range_filter date" type="text" id="datepicker_to" /> </p> <table width="100%" class="display" id="datatable"> <thead> <tr> <th>Date</th> <th>ID</th> </tr> </thead> <tbody> <tr> <td>30/03/2017</td> <td><a href="42296/service_request/CS_Reviewed" class="btn btn-default btn-sm">000000617 </a></td> </tr> <tr> <td>30/03/2017</td> <td><a href="42297/service_request/CS_Reviewed" class="btn btn-default btn-sm">000000618 </a></td> </tr> <tr> <td>30/03/2017</td> <td><a href="42298/service_request/CS_Reviewed" class="btn btn-default btn-sm">000000619 </a></td> </tr> <tr> <td>03/04/2017</td> <td><a href="42340/service_request/CS_Reviewed" class="btn btn-default btn-sm">000000620 </a></td> </tr> <tr> <td>03/04/2017</td> <td><a href="42343/service_request/CS_Reviewed" class="btn btn-default btn-sm">000000621 </a></td> </tr> <tr> <td>03/04/2017</td> <td><a href="42344/service_request/CS_Reviewed" class="btn btn-default btn-sm">000000622 </a></td> </tr> <tr> <td>03/04/2017</td> <td><a href="42345/service_request/CS_Reviewed" class="btn btn-default btn-sm">000000623 </a></td> </tr> <tr> <td>03/04/2017</td> <td><a href="42348/service_request/CS_Reviewed" class="btn btn-default btn-sm">000000624 </a></td> </tr> <tr> <td>03/04/2017</td> <td><a href="42350/service_request/CS_Reviewed" class="btn btn-default btn-sm">000000625 </a></td> </tr> <tr> <td>04/04/2017</td> <td><a href="42395/service_request/CS_Reviewed" class="btn btn-default btn-sm">000000626 </a></td> </tr> <tr> <td>05/04/2017</td> <td><a href="42427/service_request/CS_Reviewed" class="btn btn-default btn-sm">000000627 </a></td> </tr> <tr> <td>05/04/2017</td> <td><a href="42446/service_request/CS_Reviewed" class="btn btn-default btn-sm">000000628 </a></td> <tr> <td>05/04/2017</td> <td><a href="42458/service_request/CS_Reviewed" class="btn btn-default btn-sm">000000629 </a></td> </tr> <tr> <td>05/04/2017</td> <td><a href="42461/service_request/CS_Reviewed" class="btn btn-default btn-sm">000000630 </a></td> </tr> <tr> <td>06/04/2017</td> <td><a href="42490/service_request/CS_Reviewed" class="btn btn-default btn-sm">000000631 </a></td> </tr> <tr> <td>06/04/2017</td> <td><a href="42491/service_request/CS_Reviewed" class="btn btn-default btn-sm">000000632 </a></td> </tr> <tr> <td>06/04/2017</td> <td><a href="42493/service_request/CS_Reviewed" class="btn btn-default btn-sm">000000633 </a></td> </tr> <tr> <td>06/04/2017</td> <td><a href="42494/service_request/CS_Reviewed" class="btn btn-default btn-sm">000000634 </a></td> </tr> <tr> <td>06/04/2017</td> <td><a href="42497/service_request/CS_Reviewed" class="btn btn-default btn-sm">000000635 </a></td> </tr> <tr> <td>07/04/2017</td> <td><a href="42531/service_request/CS_Reviewed" class="btn btn-default btn-sm">000000636 </a></td> </tr> <tr> <td>07/04/2017</td> <td><a href="42532/service_request/CS_Reviewed" class="btn btn-default btn-sm">000000637 </a></td> </tr> <tr> <td>07/04/2017</td> <td><a href="42533/service_request/CS_Reviewed" class="btn btn-default btn-sm">000000638 </a></td> </tr> <tr> <td>07/04/2017</td> <td><a href="42539/service_request/CS_Reviewed" class="btn btn-default btn-sm">000000640 </a></td> </tr> <tr> <td>07/04/2017</td> <td><a href="42540/service_request/CS_Reviewed" class="btn btn-default btn-sm">000000641 </a></td> </tr> <tr> <td>07/04/2017</td> <td><a href="42541/service_request/CS_Reviewed" class="btn btn-default btn-sm">000000642 </a></td> </tr> <tr> <td>07/04/2017</td> <td><a href="42542/service_request/CS_Reviewed" class="btn btn-default btn-sm">000000643 </a></td> </tr> <tr> <td>07/04/2017</td> <td><a href="42544/service_request/CS_Reviewed" class="btn btn-default btn-sm">000000644 </a></td> </tr> <tr> <td>08/04/2017</td> <td><a href="42565/service_request/CS_Reviewed" class="btn btn-default btn-sm">000000645 </a></td> </tr> <tr> <td>08/04/2017</td> <td><a href="42566/service_request/CS_Reviewed" class="btn btn-default btn-sm">000000646 </a></td> </tr> <tr> <td>10/04/2017</td> <td><a href="42604/service_request/CS_Reviewed" class="btn btn-default btn-sm">000000647 </a></td> </tr> <tr> <td>10/04/2017</td> <td><a href="42607/service_request/CS_Reviewed" class="btn btn-default btn-sm">000000648 </a></td> </tr> <tr> <td>11/04/2017</td> <td><a href="42636/service_request/CS_Reviewed" class="btn btn-default btn-sm">000000649 </a></td> </tr> <tr> <td>11/04/2017</td> <td><a href="42638/service_request/CS_Reviewed" class="btn btn-default btn-sm">000000650 </a></td> </tr> <tr> <td>11/04/2017</td> <td><a href="42639/service_request/CS_Reviewed" class="btn btn-default btn-sm">000000651 </a></td> </tr> <tr> <td>12/04/2017</td> <td><a href="42661/service_request/CS_Reviewed" class="btn btn-default btn-sm">000000652 </a></td> </tr> <tr> <td>12/04/2017</td> <td><a href="42664/service_request/CS_Reviewed" class="btn btn-default btn-sm">000000653 </a></td> </tr> <tr> <td>15/04/2017</td> <td><a href="42711/service_request/CS_Reviewed" class="btn btn-default btn-sm">000000654 </a></td> </tr> <tr> <td>15/04/2017</td> <td><a href="42712/service_request/CS_Reviewed" class="btn btn-default btn-sm">000000655 </a></td> </tr> </tbody> </table>

    更多推荐

    新的Date(date).getTime();以d/m/y格式读取时间

    本文发布于:2023-11-24 18:03:59,感谢您对本站的认可!
    本文链接:https://www.elefans.com/category/jswz/34/1626278.html
    版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
    本文标签:格式   时间   Date   date   getTime

    发布评论

    评论列表 (有 0 条评论)
    草根站长

    >www.elefans.com

    编程频道|电子爱好者 - 技术资讯及电子产品介绍!