Ext JS 4 は週による日付選択制御を実装します (実践戦闘 2)_extjs
JavaScript での日付と時刻
Ext JS 4 は週による日付選択コントロールを実装します (実践 1)
この記事の予備知識について詳しく知りたい場合は、上記の 2 つの記事を参照してください。
JavaScript は処理時間の Date オブジェクトを提供します。ただし、Date には曜日を取得するメソッドがありません。
Web 側で js を介して特定の期間の週を取得したい場合は、いくつかのアルゴリズムに従って実装できます。 もちろん、jquery の拡張コンポーネントは、そのような既製のパッケージを直接提供します。
Ext jsと同様に、Ext.Date.getWeekOf Year(date)というメソッドがあり、
質問
Ext JSを使用しているかどうか、完璧です 今週の問題を解くのはどうですか?
このシリーズの最初の記事で述べたように、Ext の datepicker は曜日を確認できないため、自分で拡張する必要があります。
しかし、展開するときに問題があります:
JavaScript 言語の Date オブジェクトは毎週日曜日に始まります。
Ext JS の getWeekOfyear メソッドは ISO-8601 に従っており、各週は月曜日に始まります。 (他のメソッドはこの標準に従っておらず、Ext JS ではさまざまな日付と時刻の表現標準が混在しています)。
Ext.Date.getWeekOfyear このメソッドの戻り値は 1 ~ 53 の数値です。
この場合、いくつかの問題が発生します。
Ext js の日付表示コントロールは日曜日から始まります: (S M T W T F S (Sunday, Monday, Tuesday...Saturday))
ただし、日付表示コントロールは選択した時間を通じて取得されます。週は再び日曜日から始まります。結果:
1. 各日曜日の週は 1 ずつ小さくなります (たとえば、2013/08/18 の日曜日は 34 週になるはずですが、この方法では前の週の終わりとしてカウントされます)週、33 週)
date = 新しい日付("2013/08/18") ;
var year = Ext.Date.getWeekOf Year(date);
alert("week=" 週); JS の日付コントロールはデフォルトで次のように 42 日を表示します。そうであれば、2 つの年が相互作用するという問題が発生します。
解決策
jsのDateオブジェクトとExt jsのExt.Dateを組み合わせて曜日文字列を取得します。 1. 日曜日は週の最初の日です
2. 1 年の週数は (1 ~ 52) で、52 週を超える場合は翌年の最初の週にカウントされます。 。 たとえば、2013/12/29 は 2014 年の最初の週から数えて 2013 年の 53 週目です
3. 「W1334」という週形式を返します
* getWeekOf Year(Ext use ISO-8601,week begin monday)
* js Date(週の始まりは日曜日)
* 2. if 週 > 52==> ; 年 = 年 1; 週 = 週 - 52; 月 ==11 (12 月) および週
*/
関数getWeekStrOfDate(date)
{
var yearStr = null;
if(date!=null)
{
weekStr = "W"
var date Year = date.getFullyear() ;
var dateWeek = Ext.Date.getWeekOfyear(date);
var firstDayOfMonth = Ext.Date.getFirstDayOfMonth(date);
var day = date.getDate(); .getMonth() ;
//曜日 0-6
var Weekday = date.getDay();
if(weekday===0)
{
dateWeek ;
// 週>52 ==> 年 1
if(月==11)
{
if(dateWeek>52)
{
日付年 = 1 ;
dateWeek -= 52;
}else if(dateWeek<2){
date Year = 1;
}
var yearStr = date Year.toString(); >yearStr = yearStr .substring(2,4);
var dateWeekStr = dateWeek.toString();
if(dateWeekStr.length{
dateWeekStr = "0" dateWeekStr; 🎜>}
weekStr = yearStr;
weekStr = dateWeekStr;
return
}

ホットAIツール

Undresser.AI Undress
リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover
写真から衣服を削除するオンライン AI ツール。

Undress AI Tool
脱衣画像を無料で

Clothoff.io
AI衣類リムーバー

AI Hentai Generator
AIヘンタイを無料で生成します。

人気の記事

ホットツール

メモ帳++7.3.1
使いやすく無料のコードエディター

SublimeText3 中国語版
中国語版、とても使いやすい

ゼンドスタジオ 13.0.1
強力な PHP 統合開発環境

ドリームウィーバー CS6
ビジュアル Web 開発ツール

SublimeText3 Mac版
神レベルのコード編集ソフト(SublimeText3)

ホットトピック









記事では、JavaScriptライブラリの作成、公開、および維持について説明し、計画、開発、テスト、ドキュメント、およびプロモーション戦略に焦点を当てています。

この記事では、ブラウザでJavaScriptのパフォーマンスを最適化するための戦略について説明し、実行時間の短縮、ページの負荷速度への影響を最小限に抑えることに焦点を当てています。

フロントエンドのサーマルペーパーチケット印刷のためのよくある質問とソリューションフロントエンド開発におけるチケット印刷は、一般的な要件です。しかし、多くの開発者が実装しています...

この記事では、ブラウザ開発者ツールを使用した効果的なJavaScriptデバッグについて説明し、ブレークポイントの設定、コンソールの使用、パフォーマンスの分析に焦点を当てています。

スキルや業界のニーズに応じて、PythonおよびJavaScript開発者には絶対的な給与はありません。 1. Pythonは、データサイエンスと機械学習でさらに支払われる場合があります。 2。JavaScriptは、フロントエンドとフルスタックの開発に大きな需要があり、その給与もかなりです。 3。影響要因には、経験、地理的位置、会社の規模、特定のスキルが含まれます。

この記事では、ソースマップを使用して、元のコードにマッピングすることにより、Minified JavaScriptをデバッグする方法について説明します。ソースマップの有効化、ブレークポイントの設定、Chrome DevtoolsやWebpackなどのツールの使用について説明します。

Console.log出力の違いの根本原因に関する詳細な議論。この記事では、Console.log関数の出力結果の違いをコードの一部で分析し、その背後にある理由を説明します。 �...

同じIDを持つ配列要素をJavaScriptの1つのオブジェクトにマージする方法は?データを処理するとき、私たちはしばしば同じIDを持つ必要性に遭遇します...
