jQuerydate格式

我怎样才能使用jQuery格式化date。 我正在使用下面的代码,但得到错误:

$("#txtDate").val($.format.date(new Date(), 'dd M yy')); 

请提出解决scheme。

jQuery dateFormat是一个单独的插件。 您需要使用<script>标签显式加载。

在你的页面中添加jQuery UI插件。

  $("#txtDate").val($.datepicker.formatDate('dd M yy', new Date())); 

另一种方法是简单的js date()函数,如果你不想使用jQuery / jQuery插件:

例如:

 var formattedDate = new Date("yourUnformattedOriginalDate"); var d = formattedDate.getDate(); var m = formattedDate.getMonth(); m += 1; // JavaScript months are 0-11 var y = formattedDate.getFullYear(); $("#txtDate").val(d + "." + m + "." + y); 

请参阅: 使用JavaScript格式化时间和date的10种方法

如果你想添加前导零到日/月,这是一个完美的例子: JavaScript添加前导零为止

如果你想添加前导零的时间试试这个: getMinutes()0-9 – 如何与两个数字?

ThulasiRam,我更喜欢你的build议。 它适用于我稍微不同的语法/上下文:

 var dt_to = $.datepicker.formatDate('yy-mm-dd', new Date()); 

如果您决定从JQuery UI中使用datepicker,请确保在文档的<head>部分中使用正确的引用:

 <link rel="stylesheet" href="http://code.jquery.com/ui/1.9.2/themes/base/jquery-ui.css" /> <script src="http://code.jquery.com/jquery-1.8.3.js"></script> <script src="http://code.jquery.com/ui/1.9.2/jquery-ui.js"></script> 

这是我刚刚做的一个非常基本的function,不需要任何外部插件:

 $.date = function(dateObject) { var d = new Date(dateObject); var day = d.getDate(); var month = d.getMonth() + 1; var year = d.getFullYear(); if (day < 10) { day = "0" + day; } if (month < 10) { month = "0" + month; } var date = day + "/" + month + "/" + year; return date; }; 

使用:

 $.date(yourDateObject); 

结果:

 dd/mm/yyyy 

我正在使用Moment JS 。 是非常有用和易于使用的。

 var date = moment(); //Get the current date date.format("YYYY-MM-DD"); //2014-07-10 

只需使用这个:

 var date_str=('0'+date.getDate()).substr(-2,2)+' '+('0'+date.getMonth()).substr(-2,2)+' '+('0'+date.getFullYear()).substr(-2,2); 

我希望这个代码能够解决你的问题。

 var d = new Date(); var curr_day = d.getDate(); var curr_month = d.getMonth(); var curr_year = d.getFullYear(); var curr_hour = d.getHours(); var curr_min = d.getMinutes(); var curr_sec = d.getSeconds(); curr_month++ ; // In js, first month is 0, not 1 year_2d = curr_year.toString().substring(2, 4) $("#txtDate").val(curr_day + " " + curr_month + " " + year_2d) 

虽然这个问题在几年前被问过,但是如果date值是一个格式为mm/dd/yyyy的string,就不需要jQuery插件了(就像使用dateselect器一样);

 var birthdateVal = $('#birthdate').val(); //birthdateVal: 11/8/2014 var birthdate = new Date(birthdateVal); //birthdate: Sat Nov 08 2014 00:00:00 GMT-0500 (Eastern Standard Time) 

看看这里:

https://github.com/mbitto/jquery.i18Now

这个jQuery插件可以帮助你根据你的喜好来格式化和翻译date和时间。

你可以使用这个片段

 $('.datepicker').datepicker({ changeMonth: true, changeYear: true, yearRange: '1900:+0', defaultDate: '01 JAN 1900', buttonImage: "http://www.theplazaclub.com/clubhttp://img.dovov.comcalendar/outlook_calendar.gif", dateFormat: 'dd/mm/yy', onSelect: function() { $('#datepicker').val($(this).datepicker({ dateFormat: 'dd/mm/yy' }).val()); } }); 
 <link rel="stylesheet" href="//code.jquery.com/ui/1.11.4/themes/smoothness/jquery-ui.css"> <script src="//code.jquery.com/jquery-1.10.2.js"></script> <script src="//code.jquery.com/ui/1.11.4/jquery-ui.js"></script> <p> selector: <input type="text" class="datepicker"> </p> <p> output: <input type="text" id="datepicker"> </p> 

只要我们可以格式化date,

 var month = date.getMonth() + 1; var day = date.getDate(); var date1 = (('' + day).length < 2 ? '0' : '') + day + '/' + (('' + month).length < 2 ? '0' : '') + month + '/' + date.getFullYear(); $("#txtDate").val($.datepicker.formatDate('dd/mm/yy', new Date(date1))); 

“date”是任何格式的date。

你可以添加新的用户jQuery函数'getDate'

JSFiddle: getDate jQuery

或者你可以运行代码片段。 只要按下这个post下面的“运行代码片段”button。

 // Create user jQuery function 'getDate' (function( $ ){ $.fn.getDate = function(format) { var gDate = new Date(); var mDate = { 'S': gDate.getSeconds(), 'M': gDate.getMinutes(), 'H': gDate.getHours(), 'd': gDate.getDate(), 'm': gDate.getMonth() + 1, 'y': gDate.getFullYear(), } // Apply format and add leading zeroes return format.replace(/([SMHdmy])/g, function(key){return (mDate[key] < 10 ? '0' : '') + mDate[key];}); return getDate(str); }; })( jQuery ); // Usage: example #1. Write to '#date' div $('#date').html($().getDate("ymd H:M:S")); // Usage: ex2. Simple clock. Write to '#clock' div function clock(){ $('#clock').html($().getDate("H:M:S, m/d/y")) } clock(); setInterval(clock, 1000); // One second // Usage: ex3. Simple clock 2. Write to '#clock2' div function clock2(){ var format = 'H:M:S'; // Date format var updateInterval = 1000; // 1 second var clock2Div = $('#clock2'); // Get div var currentTime = $().getDate(format); // Get time clock2Div.html(currentTime); // Write to div setTimeout(clock2, updateInterval); // Set timer 1 second } // Run clock2 clock2(); // Just for fun // Usage: ex4. Simple clock 3. Write to '#clock3' span function clock3(){ var formatHM = 'H:M:'; // Hours, minutes var formatS = 'S'; // Seconds var updateInterval = 1000; // 1 second var clock3SpanHM = $('#clock3HM'); // Get span HM var clock3SpanS = $('#clock3S'); // Get span S var currentHM = $().getDate(formatHM); // Get time H:M var currentS = $().getDate(formatS); // Get seconds clock3SpanHM.html(currentHM); // Write to div clock3SpanS.fadeOut(1000).html(currentS).fadeIn(1); // Write to span setTimeout(clock3, updateInterval); // Set timer 1 second } // Run clock2 clock3(); 
 <script src="https://ajax.googleapis.com/ajax/libs/jquery/1.2.3/jquery.min.js"></script> <div id="date"></div><br> <div id="clock"></div><br> <span id="clock3HM"></span><span id="clock3S"></span> 

将此函数添加到<script></script>并从<script></script>中的任何位置调用

 <script> window.alert(Getnow()); function GetNow(){ var currentdate = new Date(); var datetime = currentdate.getDate() + "-" + (currentdate.getMonth()+1) + "-" + currentdate.getFullYear() + " " + currentdate.getHours() + ":" + currentdate.getMinutes() + ":" + currentdate.getSeconds(); return datetime; } </script> 

或者你可以简单地使用提供格式化设施的Jquery:

 window.alert(Date.parse(new Date()).toString('yyyy-MM-dd H:i:s')); 

我喜欢第二个选项。 它一次性解决所有问题。

我不太确定是否允许我回答一个问题,就像2年前一样,因为这是我在stackoverflow上的第一个答案,但这是我的解决scheme;

如果您曾经从MySQL数据库中检索date,请将其拆分,然后使用拆分的值。

 $(document).ready(function () { var datefrommysql = $('.date-from-mysql').attr("date"); var arraydate = datefrommysql.split('.'); var yearfirstdigit = arraydate[2][2]; var yearlastdigit = arraydate[2][3]; var day = arraydate[0]; var month = arraydate[1]; $('.formatted-date').text(day + "/" + month + "/" + yearfirstdigit + yearlastdigit); }); 

这是一个小提琴 。

创builddateselect器时使用dateFormat选项。

 $("#startDate").datepicker({ changeMonth: true, changeYear: true, showButtonPanel: true, dateFormat: 'yy/mm/dd' }); 

这里是我在浏览器上显示的完整的代码示例,希望你也有帮助谢谢。

 <!doctype html> <html lang="en"> <head> <meta charset="utf-8"> <title>jQuery UI Datepicker functionality</title> <link href="http://code.jquery.com/ui/1.11.3/themes/smoothness/jquery-ui.css" rel="stylesheet"> <script src="http://code.jquery.com/jquery-1.10.2.js"></script> <script src="http://code.jquery.com/ui/1.10.4/jquery-ui.js"></script> <!-- Javascript --> <script> $(function() { $( "#datepicker" ).datepicker({ minDate: -100, maxDate: "+0D", dateFormat: 'yy-dd-mm', onSelect: function(datetext){ $(this).val(datetext); }, }); }); </script> </head> <body> <!-- HTML --> <p>Enter Date: <input type="text" id="datepicker"></p> </body> </html> 

你可以使用下面的代码没有插件。

 <script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> <script src="https://code.jquery.com/ui/1.12.1/jquery-ui.js"></script> <link rel="stylesheet" href="//code.jquery.com/ui/1.12.1/themes/base/jquery-ui.css"> <script> $( function() { //call the function on page load $( "#datepicker" ).datepicker(); //set the date format here $( "#datepicker" ).datepicker("option" , "dateFormat", "dd-mm-yy"); // you also can use // yy-mm-dd // d M, y // d MM, y // DD, d MM, yy // &apos;day&apos; d &apos;of&apos; MM &apos;in the year&apos; yy (With text - 'day' d 'of' MM 'in the year' yy) } ); </script> Pick the Date: <input type="text" id="datepicker"> 

你可以试试http://www.datejs.com/

  $('#idInput').val( Date.parse("Jun 18, 2017 7:00:00 PM").toString('yyyy-MM-dd')); 

BR

如果你使用的是jQuery UI,那么你可以像下面这样使用它,你可以指定你自己的date格式

 $.datepicker.formatDate( "D dd-M-yy", new Date()) // Output "Fri 08-Sep-2017" 

你可以使用这个编码

 $('[name="tgllahir"]').val($.datepicker.formatDate('dd-mm-yy', new Date(data.tgllahir)));