フロントエンドjquery日付正規検査、タイムスタンプ変換、および指定された日付フォーマット変換日付コード

1924 ワード

日付の正則検査:前後の端はすべて適用して、平年、閏年の検査の分けることがあって、yyyyyMMdd、yyyy-MMM-dd、yyyy/MM/ddフォーマットも兼ねます
String DATAREG = "^(?:(?!0000)[0-9]{4}([-/.]?)(?:(?:0?[1-9]|1[0-2])([-/.]?)(?:0?[1-9]|1[0-9]|2[0-8])|(?:0?[13-9]|1[0-2])([-/.]?)(?:29|30)|(?:0?[13578]|1[02])([-/.]?)31)|(?:[0-9]{2}(?:0[48]|[2468][048]|[13579][26])|(?:0[48]|[2468][048]|[13579][26])00)([-/.]?)0?2([-/.]?)29)$";

タイムスタンプ変換年月日時分秒:yyy-MM-dd HH:MM:SS
var curr_time = new Date(data.time); var year = curr_time.getFullYear(); var month = curr_time.getMonth() + 1 < 10 ? '0' + (curr_time.getMonth() + 1) : curr_time.getMonth() + 1; var day = curr_time.getDate() < 10 ? '0' + curr_time.getDate() : curr_time.getDate(); var time1 = year + "-"+ month + "-"+ day + ""+ curr_time.getHours() + ":"+ curr_time.getMinutes() + ":"+ curr_time.getSeconds();
console.log(time1);
指定された日付フォーマット変換日:(転載//author:meizz)
Date.prototype.Format=function(fmt)/fmt:yyyy-MM-dd hh:mm:ss(実参)var o={"M+":this.getMonth()+1,//月"d+":this.getDate()、//日"h+":this.getHours()、//時間"m+":this.getMinutes()、//分"s+":this.getSeconds()、//秒"q+":Math.floor((this.getMonth()+3)/3),//四半期「S」:this.getMilliseconds()/ミリ秒};    if(/(y+)/.test(fmt)) fmt = fmt.replace(RegExp.$1, (this.getFullYear() + "").substr(4 - RegExp.$1.length));     for(var k in o)         if(new RegExp("("+ k + ")").test(fmt)) fmt = fmt.replace(RegExp.$1, (RegExp.$1.length == 1) ? (o[k]) : (("00"+ o[k]).substr((""+ o[k]).length)));     return fmt; }
新規:上記の論理内容に該当しません
ここで、バックグラウンドの通常の時間がフロントエンドに伝わる時間がミリ秒数になる問題を追加します.
@JsonFormat(pattern="yyyy-MM-dd HH:mm:ss",timezone = "GMT+8")
//@DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss")
private Date createTime;//    ,        

明らかにバックグラウンドで修正された.