ホームページ > 記事 > ウェブフロントエンド > JavaScriptの日付オブジェクトをstring_javascriptスキルに整形する実装方法
JavaScript によって提供される日付の書式設定は単純すぎます。一般的に、アプリケーションは独自に書式設定メソッドを実装する必要があります。これは一般的なニーズを満たすことができるはずです。日付テンプレート。テキストを区切り文字として使用することもでき、yyyyMMdd のような区切り文字なしの書式設定もサポートします。
日付テンプレートの日付要素を変換するには正規表現を使用します。 yyyy、MM、dd などの文字列と区切り文字を配列に入力し、日付要素を実際の値に置き換えて日付文字列
を形成します。
実装には 2 つの関数があり、
を貼り付けることで実行できます。
拡張方法:この例では、年、月、日、時、分、秒、ミリ秒の要素のみがサポートされています。曜日を表示する必要がある場合は、値に w = getDay() を追加して、通常の値を変更できます。 y |M |d |H |m |s |S |w |[^yMdHmsSw]/g への式で十分です。
月または週を完全な英語または簡体字英語で表示する必要がある場合は、cfg に対応する構成を追加できます。cfg に例を追加しただけです。使用法:
var date = new Date(); var str = formatDate(date, 'yyyy year MMM month dd day');
str の値は 2012 年 7 月 29 日です
* @param format:String Date format
*/
function formatDate(datetime, format) {
var cfg = {
MMM : ['一', '二', '三', '四' 、'5'、'6'、'7'、'8'、'9'、'10'、'11'、'12']、
MMMM : ['1'、'2'、'3' ', 'four', 'five', 'six', 'seven', 'eight', 'nine', 'ten', 'eleven', 'twelve']
},
値 = {
y : datetime.getFull Year()、
M : datetime.getMonth()、
d : datetime.getDate()、
H : datetime.getHours()、
m : datetime.getMinutes(),
s : datetime.getSeconds(),
S : datetime.getMilliseconds()
}/*正規表現を使用して日付形式の各要素を分割します* /
var elems = format.match(/y |M |d |H |m |s |S |[^yMdHmsS]/g);
//日付要素を実際の値に置き換えます
(var i = 0; i < elems.length; i ) {
if (cfg[elems[i]]) {
elems[i] = cfg[elems[i]][values[elems [ i].charAt(0)]];
} else if (values[elems[i].charAt(0)]) {
elems[i] = formatNumber(values[elems[i].charAt ( 0)], elems[i].replace(/./g, '0'));
}
}
return elems.join('')
}