JavaScriptにおける12時間から24時間への変換方法


  1. 方法1: 標準的なJavaScriptのDateオブジェクトを使用する方法 JavaScriptのDateオブジェクトを使用して、12時間形式の時刻を24時間形式に変換することができます。以下はその例です。

    function convertTo24HourFormat(time12h) {
     const [time, modifier] = time12h.split(' ');
     let [hours, minutes] = time.split(':');
    
     if (hours === '12') {
       hours = '00';
     }
    
     if (modifier === 'PM') {
       hours = parseInt(hours, 10) + 12;
     }
    
     return `${hours}:${minutes}`;
    }
    
    const time12h = '12:30 PM';
    const time24h = convertTo24HourFormat(time12h);
    console.log(time24h); // 結果: '12:30'

    上記のコードでは、convertTo24HourFormat関数を使用して、12時間形式の時刻を24時間形式に変換しています。time12hには12時間形式の時刻を指定し、time24hには変換後の24時間形式の時刻が格納されます。

  2. 方法2: 正規表現を使用する方法 正規表現を使用することで、文字列のパターンマッチングを行い、12時間形式の時刻を24時間形式に変換することができます。以下はその例です。

    function convertTo24HourFormat(time12h) {
     const timePattern = /^(\d{1,2}):(\d{2})\s?(AM|PM)$/i;
     const [, hours, minutes, modifier] = time12h.match(timePattern);
    
     let convertedHours = parseInt(hours, 10);
     if (convertedHours === 12) {
       convertedHours = 0;
     }
    
     if (modifier.toUpperCase() === 'PM') {
       convertedHours += 12;
     }
    
     return `${convertedHours}:${minutes}`;
    }
    
    const time12h = '8:45 PM';
    const time24h = convertTo24HourFormat(time12h);
    console.log(time24h); // 結果: '20:45'

    上記のコードでは、convertTo24HourFormat関数内で正規表現を使用して、12時間形式の時刻を24時間形式に変換しています。time12hには12時間形式の時刻を指定し、time24hには変換後の24時間形式の時刻が格納されます。

以上が、JavaScriptで12時間形式の時刻を24時間形式に変換する方法とコード例の紹介です。どちらの方法も有効ですので、必要に応じて適切な方法を選択してください。