見出し画像

【GAS】セルから取得したDate型の日付をStringにフォーマットする

セルに入力した日付を取得すると、Date型になってしまっているので、必要に応じてフォーマットします。

結論

function Date型をStringにフォーマット(){
    // Date型かどうかを確認
    if(Object.prototype.toString.call(値) != "[object Date]"){
        throw Error("引数はDate型で渡してください")
    }
    // フォーマットして返却
    return Utilities.formatDate(値, "JST", "yyyy/MM/dd")
}

Date型が取れているか確認

まず、取得した値が正しくDate型になっているかを確認します。
typeofだとObjectになってしまうので、Object.prototype.toString.call( 判定する値 )が "[object Date]"になっているかで判定するほかなさそうです。

function Date型かどうか(){
    if( Object.prototype.toString.call(値) == "[object Date]"){
        return true
    }
    return false
}

String型にフォーマット

function DateStringにフォーマット(){
    return Utilities.formatDate(値, "JST", "yyyy/MM/dd")
}

Date型自身はフォーマットメソッドを盛っていないので、面倒ですがUtilitiesにあるformatDateメソッドを使ってフォーマットします。

それぞれ必要なコードは多くないですが、「そんなメソッド知りませんがな」というメソッドがいっぱい出てきますね。面倒だ。

この記事が気に入ったらサポートをしてみませんか?