私はjQuery UIのUI DatePickerをスタンドアロンピッカーとして使用しています。私はこのコードを持っています:
<div id="datepicker"></div>
そして、次のJS:
$('#datepicker').datepicker();
私はこのコードで値を返そうとすると:
var date = $('#datepicker').datepicker('getDate');
私はこれを返されます:
Tue Aug 25 2009 00:00:00 GMT+0100 (BST)
これはまったく間違ったフォーマットです。私はそれをDD-MM-YYYY
の形式で返すことができる方法はありますか?
これはあなたのコードに特有のものです:
var date = $('#datepicker').datepicker({ dateFormat: 'dd-mm-yy' }).val();
ここで利用可能なより一般的な情報:
jQueryスクリプトコード内にコードを貼り付けるだけです。
$( ".selector" ).datepicker({ dateFormat: 'yy-mm-dd' });
これはうまくいくはずです。
ここで日付フォーマット(yy/mm/dd)の日付ピッカーの完全なコード。
下のリンクをコピーしてheadタグに貼り付けてください。
<link href="http://ajax.googleapis.com/ajax/libs/jqueryui/1.8/themes/base/jquery-ui.css" rel="stylesheet" type="text/css"/>
<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.5/jquery.min.js"></script>
<script src="http://ajax.googleapis.com/ajax/libs/jqueryui/1.8/jquery-ui.min.js"></script>
<script type="text/javascript">
$(function() {
$("#datepicker").datepicker({ dateFormat: "yy-mm-dd" }).val()
});
</script>
以下のコードをコピーしてbodyタグの間に貼り付けてください。
Date: <input type="text" id="datepicker" size="30"/>
Start Date
とEnd Date
のような2つの入力タイプのテキストが欲しい場合は、このスクリプトを使用して日付フォーマットを変更してください。
<link href="http://ajax.googleapis.com/ajax/libs/jqueryui/1.8/themes/base/jquery-ui.css" rel="stylesheet" type="text/css"/>
<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.5/jquery.min.js"></script>
<script src="http://ajax.googleapis.com/ajax/libs/jqueryui/1.8/jquery-ui.min.js"></script>
<script type="text/javascript">
$(function() {
$("#startdate").datepicker({ dateFormat: "dd-mm-yy" }).val()
$("#enddate").datepicker({ dateFormat: "dd-mm-yy" }).val()
});
</script>
次のような2つの入力テキスト
Start Date: <input type="text" id="startdate" size="30"/>
End Date: <input type="text" id="enddate" size="30"/>
getDate
関数はJavaScriptの日付を返します。この日付をフォーマットするには、次のコードを使用します。
var dateObject = $("#datepicker").datepicker("getDate");
var dateString = $.datepicker.formatDate("dd-mm-yy", dateObject);
これはdatepickerに組み込まれている効用関数を使用します。
$.datepicker.formatDate( format, date, settings )
- 日付を指定された形式で文字列値にフォーマットします。
フォーマット指定子の完全なリスト はここにあります 。
解析および表示された日付の形式この属性は、地域化属性の1つです。可能なフォーマットの完全なリストはformatDate関数を見てください。
コード例dateFormatオプションを指定して日付ピッカーを初期化します。
$( ".selector" ).datepicker({ dateFormat: 'yy-mm-dd' });
Initの後に、dateFormatオプションを取得または設定します。
//getter var dateFormat = $( ".selector" ).datepicker( "option", "dateFormat" ); //setter $( ".selector" ).datepicker( "option", "dateFormat", 'yy-mm-dd' );
<script type="text/javascript">
$(function() {
$( "#date" ).datepicker( {minDate: '0', dateFormat: 'yy-dd-mm' } );
});
</script>
$("#datepicker").datepicker("getDate")
は文字列ではなく日付オブジェクトを返します。
var dateObject = $("#datepicker").datepicker("getDate"); // get the date object
var dateString = dateObject.getFullYear() + '-' + (dateObject.getMonth() + 1) + '-' + dateObject.getDate();// Y-n-j in php date() format
を使用してみてください
$( ".selector" ).datepicker({ dateFormat: 'dd/mm/yy' });
そしてたくさんの利用可能なオプションがあります
http://api.jqueryui.com/datepicker/
これは、日付ピッカーをパラメータで呼び出す方法です。
$(function() {
$('.selector').datepicker({
dateFormat: 'dd/mm/yy',
changeMonth: true,
numberOfMonths: 1,
buttonImage: 'contact/calendar/calendar.gif',
buttonImageOnly: true,
onSelect: function(selectedDate) {
// we can write code here
}
});
});
あなたは単にあなたの関数でこのフォーマットを使うことができます。
$(function() {
$( "#datepicker" ).datepicker({
dateFormat: 'dd/mm/yy',
changeMonth: true,
changeYear: true
});
});
<input type="text" id="datepicker"></p>
あなたがyy-mm-ddフォーマットの日付を必要とするなら、あなたはこれを使うことができます -
$("#datepicker").datepicker({ dateFormat: "yy-mm-dd" });
あなたはすべてのサポートされている形式を見つけることができます https://jqueryui.com/datepicker/#date-formats
私は2015年12月6日6日を必要としていた、私はこれをしました: -
$("#datepicker").datepicker({ dateFormat: "d M,y" });
これも動作します。
$("#datepicker").datepicker({
dateFormat:'d-m-yy'
});
<script>
$(function() {
$("#datepicker").datepicker();
$('#datepicker').datepicker('option', {dateFormat: 'd MM y'});
});
$("#startDate").datepicker({dateFormat: 'd MM y'});
</script>
このHTMLページを実行するだけで、いくつかの形式を見ることができます。
<html lang="en">
<head>
<meta charset="utf-8" />
<title>jQuery UI Datepicker - Format date</title>
<link rel="stylesheet" href="http://code.jquery.com/ui/1.10.3/themes/smoothness/jquery-ui.css" />
<script src="http://code.jquery.com/jquery-1.9.1.js"></script>
<script src="http://code.jquery.com/ui/1.10.3/jquery-ui.js"></script>
<link rel="stylesheet" href="/resources/demos/style.css" />
<script>
$(function() {
$( "#datepicker" ).datepicker();
$( "#format" ).change(function() {
$( "#datepicker" ).datepicker( "option", "dateFormat", $( this ).val() );
});
});
</script>
</head>
<body>
<p>Date: <input type="text" id="datepicker" size="30" /></p>
<p>Format options:<br />
<select id="format">
<option value="mm/dd/yy">Default - mm/dd/yy</option>
<option value="yy-mm-dd">ISO 8601 - yy-mm-dd</option>
<option value="d M, y">Short - d M, y</option>
<option value="d MM, y">Medium - d MM, y</option>
<option value="DD, d MM, yy">Full - DD, d MM, yy</option>
<option value="'day' d 'of' MM 'in the year' yy">With text - 'day' d 'of' MM 'in the year' yy</option>
</select>
</p>
</body>
</html>
$("#datepicker").datepicker({ dateFormat: "yy-mm-dd" }).val()
これはスムーズに機能します。これを試して。
これらのリンクを頭の部分に貼り付けてください。
<script src="http://code.jquery.com/jquery-1.9.1.js"></script>
<script type="text/javascript"
src="https://cdnjs.cloudflare.com/ajax/libs/bootstrap-datepicker/1.4.1/js/bootstrap-datepicker.min.js"></script>
<link rel="stylesheet"
href="https://cdnjs.cloudflare.com/ajax/libs/bootstrap-datepicker/1.4.1/css/bootstrap-datepicker3.css"/>
<link rel="stylesheet" href="css/bootstrap.min.css">
<script src="https://maxcdn.bootstrapcdn.com/bootstrap/4.0.0/js/bootstrap.min.js"></script>
<script src="http://code.jquery.com/ui/1.11.0/jquery-ui.js"></script>
<link rel="stylesheet" href="http://code.jquery.com/ui/1.12.1/themes/base/jquery-ui.css">
以下はJSのコーディングです。
<script>
$(document).ready(function () {
$('#completionDate').datepicker({
dateFormat: 'yy-mm-dd', // enter date format you prefer (e.g. 2018-10-09)
changeMonth: true,
changeYear: true,
yearRange: "-50:+10",
clickInput: true,
onSelect: function (date) {
loadMusterChit();
}
});
});
</script>
Datepickerにjqueryを使用しています。これらのjqueriesはそのために使用されます。
<script src="jqueryCalendar/jquery-1.6.2.min.js"></script>
<script src="jqueryCalendar/jquery-ui-1.8.15.custom.min.js"></script>
<link rel="stylesheet" href="jqueryCalendar/jqueryCalendar.css">
それからあなたはこのコードに従います、
<script>
jQuery(function() {
jQuery( "#date" ).datepicker({ dateFormat: 'dd/mm/yy' });
});
</script>
input[type="text"]
要素に日付ピッカーを設定すると、特にユーザーがデータ入力の日付形式に従わない場合、一貫した形式の日付が得られないことがあります。
たとえば、dateFormatをdd-mm-yy
に設定し、ユーザーが1-1-1
と入力したとします。 datepickerはこれを内部的にJan 01, 2001
に変換しますが、datepickerオブジェクトに対してval()
を呼び出すと文字列"1-1-1"
が返されます。これはテキストフィールドの内容とまったく同じです。
これは、入力された日付が期待した形式になっていることを確認するためにユーザー入力を検証するか、ユーザーに日付の自由形式の入力を許可しないことを意味します(代わりにカレンダーピッカーを使用)。それでも - - デートピッカーコードにあなたが期待するようにフォーマットされた文字列を与えることを強制することは可能です:
var picker = $('#datepicker');
picker.datepicker({ dateFormat: 'dd-mm-yy' });
picker.val( '1-1-1' ); // simulate user input
alert( picker.val() ); // "1-1-1"
var d = picker.datepicker( 'getDate' );
var f = picker.datepicker( 'option', 'dateFormat' );
var v = $.datepicker.formatDate( f, d );
alert( v ); // "01-01-2001"
ただし、datepickerのgetDate()
メソッドは日付を返しますが、日付形式と完全には一致しないユーザー入力でしかそれができないことに注意してください。つまり、検証が行われていない場合は、ユーザーが期待しているものとは異なる日付を戻すことができます。 買い手責任負担 。
最後に日付ピッカーの日付変更方法の答えを得ました:
$('#formatdate').change(function(){
$('#datpicker').datepicker("option","dateFormat","yy-mm-dd");
});
私の選択は以下の通りです:
$(document).ready(function () {
var userLang = navigator.language || navigator.userLanguage;
var options = $.extend({},
$.datepicker.regional["ja"], {
dateFormat: "yy/mm/dd",
changeMonth: true,
changeYear: true,
highlightWeek: true
}
);
$("#japaneseCalendar").datepicker(options);
});
#ui-datepicker-div {
font-size: 14px;
}
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<link rel="stylesheet" type="text/css"
href="https://cdnjs.cloudflare.com/ajax/libs/jqueryui/1.12.1/themes/smoothness/jquery-ui.min.css">
<script src="https://code.jquery.com/jquery-3.2.1.min.js"></script>
<script src="https://code.jquery.com/ui/1.12.1/jquery-ui.min.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/jqueryui/1.11.1/i18n/jquery-ui-i18n.min.js"></script>
</head>
<body>
<h3>Japanese JQuery UI Datepicker</h3>
<input type="text" id="japaneseCalendar"/>
</body>
</html>
私はこれを使う:
var strDate = $("#dateTo").datepicker('getDate').format('yyyyMMdd');
これは20120118
に対して "Jan 18, 2012
"のようなフォーマットの日付を返します。
以下のコードは、フォームが複数の日付フィールドを取得したかどうかを確認するのに役立ちます。
<!doctype html>
<html lang="en">
<head>
<meta charset="utf-8" />
<title>jQuery UI Datepicker - Display month & year menus</title>
<link rel="stylesheet" href="jquery-ui.css" />
<script src="jquery-1.8.3.js"></script>
<script src="jquery-ui.js"></script>
<link rel="stylesheet" href="style.css" />
<script>
function pickDate(DateObject){
// alert(DateObject.name)
$(function() {
$("#"+DateObject.name).datepicker({ dateFormat: "dd/mm/yy" }).val()
});
}
/*
$(function() {
$( "#datepicker" ).datepicker({
changeMonth: true,
changeYear: true
});
});
*/
</script>
</head>
<body>
<p>From Date: <input type="text" name="FromDate" id="FromDate" size="9" onfocus="pickDate(this)"/></p>
<p>To Date: <input type="text" name="ToDate" id="ToDate" size="9" onfocus="pickDate(this)" /></p>
</body>
</html>
これを正しく行う方法は、次のようになると思います。
var picker = $('.date-picker');
var date = $.datepicker.formatDate(
picker.datepicker('option', 'dateFormat'),
picker.datepicker('getDate'));
これにより、フォーマット文字列が一度だけ定義され、フォーマット文字列をフォーマットされた日付に変換するために同じフォーマッタを使用するようになります。
これは私のために働いたものです:
$.fn.datepicker.defaults.format = 'yy-mm-dd'
単純なように、入力フィールドのhtmlとJQueryの初期データピッカーにdata-date-format="yyyy-mm-dd"
を使用する必要があります。
$("#issue_date").datepicker({
dateFormat: "yy-mm-dd",
changeMonth: true,
changeYear: true
});
この方法で追加して試すことができます。
_ html _ / file:
<p><input type="text" id="demoDatepicker" /></p>
JavaScript file:
$(function() {
$("#demoDatepicker").datepicker({
dateFormat: 'dd/mm/yy',
changeMonth: true,
changeYear: true,
constrainInput: false
});
});
これは、未来の証明日の抜粋です。 Firefoxのデフォルトはjquery ui datepickerです。それ以外の場合はHTML5の日付ピッカーが使用されます。 FFがHTML5 type = "date"をサポートしている場合、スクリプトは単に冗長になります。 headタグには3つの依存関係が必要であることを忘れないでください。
<script>
src="http://ajax.googleapis.com/ajax/libs/jquery/1.11.0/jquery.min.js">
</script>
<link rel="stylesheet"href="//code.jquery.com/ui/1.12.1/themes/base/jquery-ui.css">
<script src="https://code.jquery.com/ui/1.12.1/jquery-ui.js"></script>
<!--Form element uses HTML 5 type="date"-->
<div class="form-group row">
<label for="date" class="col-sm-2 col-form-label"Date</label>
<div class="col-sm-10">
<input type="date" class="form-control" name="date" id="date" placeholder="date">
</div>
</div>
<!--if the user is using FireFox it
autoconverts type='date' into type='text'. If the type is text the
script below will assign the jquery ui datepicker with options-->
<script>
$(function()
{
var elem = document.createElement('input');
elem.setAttribute('type', 'date');
if ( elem.type === 'text' )
{
$('#date').datepicker();
$( "#date" ).datepicker( "option", "dateFormat", 'yy-mm-dd' );
}
});