Как я могу форматировать дату с помощью jQuery. Я использую код ниже, но получаю ошибку:
$("#txtDate").val($.format.date(new Date(), 'dd M yy'));
Пожалуйста, предложите решение.
Как я могу форматировать дату с помощью jQuery. Я использую код ниже, но получаю ошибку:
$("#txtDate").val($.format.date(new Date(), 'dd M yy'));
Пожалуйста, предложите решение.
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);
см. 10 способов форматирования времени и даты с использованием JavaScript
Если вы хотите добавить ведущие нули в день/месяц, это прекрасный пример: Javascript добавляет ведущие нули на сегодняшний день
и если вы хотите добавить время с ведущими нулями, попробуйте это: getMinutes() 0-9 - как с двумя номерами?
ThulasiRam, я предпочитаю ваше предложение. Это хорошо работает для меня в немного другом синтаксисе/контексте:
var dt_to = $.datepicker.formatDate('yy-mm-dd', new Date());
Если вы решите использовать datepicker из JQuery UI, убедитесь, что вы используете правильные ссылки в своем документе <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>
Вот действительно базовая функция, которую я только что сделал, для которой не требуются внешние плагины:
$.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 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)
Просто используйте это:
var date_str=('0'+date.getDate()).substr(-2,2)+' '+('0'+date.getMonth()).substr(-2,2)+' '+('0'+date.getFullYear()).substr(-2,2);
Хотя этот вопрос задавался несколько лет назад, плагин jQuery больше не требуется, если заданное значение даты представляет собой строку с форматом mm/dd/yyyy
(например, при использовании механизма выбора даты);
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)
Добавьте эту функцию в ваш <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'));
Я люблю второй вариант. Это решает все проблемы за один раз.
Если вы используете jquery ui, вы можете использовать его, как показано ниже, вы можете указать свой собственный формат даты
$.datepicker.formatDate( "D dd-M-yy", new Date()) // Output "Fri 08-Sep-2017"
Взгляните сюда:
https://github.com/mbitto/jquery.i18Now
Этот плагин jQuery позволяет вам форматировать и переводить дату и время в соответствии с вашими предпочтениями.
Вы можете использовать этот фрагмент
$('.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>
Просто мы можем форматировать дату, например,
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)));
Где "дата" - дата в любом формате.
Вы можете добавить новую функцию 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>
Я не совсем уверен, позволено ли мне ответить на вопрос, который был задан, как 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.
Используйте параметр 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
// '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">
Вы можете попробовать http://www.datejs.com/
$('#idInput').val( Date.parse("Jun 18, 2017 7:00:00 PM").toString('yyyy-MM-dd'));
BR
Это работало для меня с небольшой модификацией и без каких-либо плагинов
Вход: ср 11 апреля 2018 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
u может использовать это кодирование
$('[name="tgllahir"]').val($.datepicker.formatDate('dd-mm-yy', new Date(data.tgllahir)));