如何使用jQuery格式化日期。我使用下面的代码,但收到错误:
$("#txtDate").val($.format.date(new Date(), 'dd M yy'));
请提出解决方案。
答案 0 :(得分:202)
在您的页面中添加jquery ui插件。
$("#txtDate").val($.datepicker.formatDate('dd M yy', new Date()));
答案 1 :(得分:94)
jQuery dateFormat是一个单独的插件。您需要使用<script>
标记明确加载。
答案 2 :(得分:92)
另一种选择是简单的js date()函数,如果你不想使用jQuery / jQuery插件:
e.g:
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);
请参阅:10 ways to format time and date using JavaScript
如果你想在日/月添加前导零,这是一个很好的例子: Javascript add leading zeroes to date
如果你想用前导零添加时间,试试这个: getMinutes() 0-9 - how to with two numbers?
答案 3 :(得分:25)
这是我刚刚制作的一个非常基本的功能,不需要任何外部插件:
$.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
答案 4 :(得分:24)
ThulasiRam,我更喜欢你的建议。它在语法/上下文略有不同的情况下对我有用:
var dt_to = $.datepicker.formatDate('yy-mm-dd', new Date());
如果您决定使用JQuery UI中的日期选择器,请确保在文档中使用正确的引用&lt;头&gt;部分:
<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>
答案 5 :(得分:20)
我正在使用Moment JS。非常有用且易于使用。
var date = moment(); //Get the current date
date.format("YYYY-MM-DD"); //2014-07-10
答案 6 :(得分:12)
我希望此代码可以解决您的问题。
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)
答案 7 :(得分:6)
请使用:
var date_str=('0'+date.getDate()).substr(-2,2)+' '+('0'+date.getMonth()).substr(-2,2)+' '+('0'+date.getFullYear()).substr(-2,2);
答案 8 :(得分:5)
虽然几年前就提出了这个问题,但如果问题的日期值是格式为mm/dd/yyyy
的字符串(就像使用日期选择器时),则不再需要jQuery插件; < / p>
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)
答案 9 :(得分:5)
将此功能添加到<script></script>
,然后从<script></script>
<script>
function GetNow(){
var currentdate = new Date();
var datetime = currentdate.getDate() + "-"
+ (currentdate.getMonth()+1) + "-"
+ currentdate.getFullYear() + " "
+ currentdate.getHours() + ":"
+ currentdate.getMinutes() + ":"
+ currentdate.getSeconds();
return datetime;
}
window.alert(GetNow());
</script>
或者你可以简单地使用提供格式化设施的Jquery: -
window.alert(Date.parse(new Date()).toString('yyyy-MM-dd H:i:s'));
我喜欢第二种选择。它一次解决所有问题。
答案 10 :(得分:4)
如果您使用的是jquery ui,那么您可以像下面一样使用它,您可以指定自己的日期格式
$.datepicker.formatDate( "D dd-M-yy", new Date()) // Output "Fri 08-Sep-2017"
答案 11 :(得分:3)
您可以使用此代码段
$('.datepicker').datepicker({
changeMonth: true,
changeYear: true,
yearRange: '1900:+0',
defaultDate: '01 JAN 1900',
buttonImage: "http://www.theplazaclub.com/club/images/calendar/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>
答案 12 :(得分:3)
我们可以将日期格式化为
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)));
“日期”是任何格式的日期。
答案 13 :(得分:3)
答案 14 :(得分:2)
您可以添加新用户jQuery函数'getDate'
JSFiddle:getDate jQuery
或者您可以运行代码段。只需按下此帖子下方的“运行代码段”按钮即可。
// 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("y-m-d 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>
享受!
答案 15 :(得分:1)
我已经通过这个实现了,我在没有任何插件或日期选择器的情况下解决了这个问题。
GetDatePattern("MM/dd/yyyy");
function GetDatePattern(pattern)
{
var monthNames=["January", "February", "March", "April", "May", "June",
"July", "August", "September", "October", "November", "December"];
var todayDate = new Date();
var date = todayDate.getDate().toString();
var month = todayDate.getMonth().toString();
var year = todayDate.getFullYear().toString();
var formattedMonth = (todayDate.getMonth() < 10) ? "0" + month : month;
var formattedDay = (todayDate.getDate() < 10) ? "0" + date : date;
var result = "";
switch (pattern) {
case "M/d/yyyy":
formattedMonth = formattedMonth.indexOf("0") == 0 ? formattedMonth.substring(1, 2) : formattedMonth;
formattedDay = formattedDay.indexOf("0") == 0 ? formattedDay.substring(1, 2) : formattedDay;
result = formattedMonth + '/' + formattedDay + '/' + year;
break;
case "M/d/yy":
formattedMonth = formattedMonth.indexOf("0") == 0 ? formattedMonth.substring(1, 2) : formattedMonth;
formattedDay = formattedDay.indexOf("0") == 0 ? formattedDay.substring(1, 2) : formattedDay;
result = formattedMonth + '/' + formattedDay + '/' + year.substr(2);
break;
case "MM/dd/yy":
result = formattedMonth + '/' + formattedDay + '/' + year.substr(2);
break;
case "MM/dd/yyyy":
result = formattedMonth + '/' + formattedDay + '/' + year;
break;
case "yy/MM/dd":
result = year.substr(2) + '/' + formattedMonth + '/' + formattedDay;
break;
case "yyyy-MM-dd":
result = year + '-' + formattedMonth + '-' + formattedDay;
break;
case "dd-MMM-yy":
result = formattedDay + '-' + monthNames[todayDate.getMonth()].substr(3) + '-' + year.substr(2);
break;
case "MMMM d, yyyy":
result = todayDate.toLocaleDateString("en-us", { day: 'numeric', month: 'long', year: 'numeric' });
break;
}
}
答案 16 :(得分:0)
创建日期选择器时使用dateFormat选项。
$("#startDate").datepicker({
changeMonth: true,
changeYear: true,
showButtonPanel: true,
dateFormat: 'yy/mm/dd'
});
答案 17 :(得分:0)
我不太确定我是否可以回答2年前提出的问题,因为这是我在stackoverflow上的第一个答案,但是,这是我的解决方案;
如果您曾从MySQL数据库中检索日期,请将其拆分,然后使用拆分值。
$(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);
});
这是fiddle。
答案 18 :(得分:0)
以下是我在浏览器上展示的完整代码示例,希望您也有所帮助。
<!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>
答案 19 :(得分:0)
您可以在没有插件的情况下使用以下代码。
<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
// 'day' d 'of' MM 'in the year' yy (With text - 'day' d 'of' MM 'in the year' yy)
} );
</script>
Pick the Date: <input type="text" id="datepicker">
&#13;
答案 20 :(得分:0)
$('#idInput').val( Date.parse("Jun 18, 2017 7:00:00 PM").toString('yyyy-MM-dd'));
BR
答案 21 :(得分:0)
这对我来说很有效,但没有任何插件
输入:2018年4月11日星期三00:00:00 GMT + 0000
$.date = function(orginaldate) {
var date = new Date(orginaldate);
var day = date.getDate();
var month = date.getMonth() + 1;
var year = date.getFullYear();
if (day < 10) {
day = "0" + day;
}
if (month < 10) {
month = "0" + month;
}
var date = month + "/" + day + "/" + year;
return date;
};
$.date('Wed Apr 11 2018 00:00:00 GMT+0000')
输出:04/11/2018
答案 22 :(得分:-1)
emojis = concat [['\x1f600'..'\x1F64F'],
['\x1f300'..'\x1f5ff'],
['\x1f680'..'\x1f6ff'],
['\x1f1e0'..'\x1f1ff']]
someString = "hello "
removeEmojis = filter (`notElem` emojis)
putStrLn . removeEmojis $ someString -- "hello "