タイムスタンプを他の時間形式に変換するためのカプセル化

最近、Vue関連のプロジェクトを行い、バックグラウンドから返された時刻を使用しました。これは、バックグラウンドから返された時刻がタイムスタンプ形式であり、異なる形式での時刻の表示がプロジェクトで複数回使用されるため、タイムスタンプ変換時刻を自分でカプセル化しました。フォーマット方法は最適化する必要があるかもしれませんが、初心者には理解できます。皆さんが欠陥を修正できることを願っています。
自宅に近いほど、カプセル化メソッドはパラメーターの問題を考慮します。パラメーターの実行方法によると、コードを直接アップロードします。わからない場合は、コメントを読むことができます。

<script>
    /*
    *@param {时间戳} timestamp
    *@param {转换的格式} typedef
    *@param {连接符} concat
    */
    //时间格式的封装  如将2019-5-6 11:8:34变成2019/5/6 11:08:34或者变成2019-5等等你想要的时间格式 
    function formatTime(timestamp, typedef = "YY|MM|DD", concat = ".") {
    
    
        let time
        if (typeof timestamp === "string") {
    
    
            time = Number(timestamp)
        } else {
    
    
            time = timestamp
        }
        if (time) {
    
    
            let data = new Date(time)
            let Year = data.getFullYear()    //获取年
            let Month = data.getMonth() + 1  //获取月
            let Day = data.getDate()         //获取日
            let Hour = data.getHours()       //获取时
            let Min = data.getMinutes()      //获取分
            let Secon = data.getSeconds()    //获取秒
            //不大于10补零操作
            Month = add0(Month)
            Day = add0(Day)
            Hour = add0(Hour)
            Min = add0(Min)
            Secon = add0(Secon)

            let newTime = ''
            if (typedef === "YY|MM|DD HH:MM:SS") {
    
    
                newTime = '' + Year + concat + Month + concat + Day + ' ' + Hour + ':' + Min + ':' + Secon
            } else if (typedef === "YY|MM|DD HH:MM") {
    
    
                newTime = '' + Year + concat + Month + concat + Day + '' + Hour + ':' + Min
            } else if (typedef === "YY|MM|DD") {
    
    
                newTime = '' + Year + concat + Month + concat + Day
            } else if (typedef === "YY|MM") {
    
    
                newTime = '' + Year + concat + Month
            } else if (typedef === "MM|DD") {
    
    
                newTime = '' + Month + concat + Day
            } else if (typedef === "YY") {
    
    
                newTime = '' + Year
            } else if (typedef === "MM") {
    
    
                newTime = '' + Month
            } else if (typedef === "DD") {
    
    
                newTime = '' + Day
            }
            return newTime
        }
    }
    //补零
    function add0(time) {
    
    
        return time > 10 ? time : '0' + time
    }
    //检验代码
    console.log(formatTime("1564804053345", "YY|MM|DD HH:MM:SS", "-"))   //2019-08-03 11:47:33
    console.log(formatTime("1564804053345", "YY|MM", "/"))              //2019/08
    console.log(formatTime(1564804053345, "YY|MM", "-"))               //2019-08
</script>

使用するときは、パラメーター形式を参照してメソッドを呼び出すだけです(呼び出す前に、渡す時間形式がタイムスタンプであることを確認してください。タイムスタンプは文字列または数値(ミリ秒)にすることができます)。その後、目的の時間形式に変換できます。 !Vueプロジェクトでは、それは直接main.jsにあり、グローバルにインポートされるので、どこでも使用できます。

終わり

まあ、それが便利だと思ったらコメントしてください。1。わからないことがあれば、一緒にコミュニケーションをとって学習できます。

おすすめ

転載: blog.csdn.net/Smell_rookie/article/details/98334455