{"id":223,"date":"2023-02-23T06:33:14","date_gmt":"2023-02-22T22:33:14","guid":{"rendered":"https:\/\/www.appblog.cn\/?p=223"},"modified":"2023-04-30T15:23:51","modified_gmt":"2023-04-30T07:23:51","slug":"javascript-date-formatting-and-date-verification","status":"publish","type":"post","link":"https:\/\/www.appblog.cn\/index.php\/2023\/02\/23\/javascript-date-formatting-and-date-verification\/","title":{"rendered":"JavaScript\u65e5\u671f\u683c\u5f0f\u5316\u4e0e\u65e5\u671f\u6821\u9a8c"},"content":{"rendered":"<p>JavaScript\u65e5\u671f\u683c\u5f0f\u5316\u4e0e\u65e5\u671f\u6821\u9a8c<\/p>\n<p><!-- more --><\/p>\n<pre><code class=\"language-javascript\">\/\/ \u65e5\u671f\u6821\u9a8c\nvar validateDate = function (date) {\n  \/\/ \u8f93\u51fa\u5f53\u524d\u65f6\u95f4\n  let today = dateFormat(new Date(), &#039;yyyy-MM-dd&#039;)\n  if (date &gt; today) {\n    return false\n  }\n  var dates = date.split(&#039;-&#039;)\n  \/\/ console.log(dates)\n  if (dates.length === 3) {\n    let intYear = parseInt(dates[0], 10)\n    let intMonth = parseInt(dates[1], 10)\n    let intDay = parseInt(dates[2], 10)\n    if (isNaN(intYear) || isNaN(intMonth) || isNaN(intDay)) {\n      return false\n    }\n    if (intYear &gt; 2100 || intYear &lt; 1900 || intMonth &gt; 12 || intMonth &lt; 0 || intDay &gt; 31 || intDay &lt; 0) {\n      return false\n    }\n    if (intMonth &lt; 1 || intDay &lt; 1) {\n      return false\n    }\n    if ((intMonth === 4 || intMonth === 6 || intMonth === 9 || intMonth === 11) &amp;&amp; intDay &gt; 30) {\n      return false\n    }\n    if ((intYear % 100 === 0 &amp;&amp; intYear % 400) || (intYear % 100 &amp;&amp; intYear % 4 === 0)) {\n      if (intDay &gt; 29) { return false }\n    } else {\n      if (intDay &gt; 28) { return false }\n    }\n    return true\n  }\n  return false\n}\n\n\/\/ \u65e5\u671f\u683c\u5f0f\u5316\nvar dateFormat = function (date, fmt) {\n  var o = {\n    &#039;M+&#039;: date.getMonth() + 1,\n    &#039;d+&#039;: date.getDate(),\n    &#039;h+&#039;: date.getHours(),\n    &#039;m+&#039;: date.getMinutes(),\n    &#039;s+&#039;: date.getSeconds(),\n    &#039;q+&#039;: Math.floor((date.getMonth() + 3) \/ 3),\n    &#039;S&#039;: date.getMilliseconds()\n  }\n  if (\/(y+)\/.test(fmt)) {\n    fmt = fmt.replace(RegExp.$1, (date.getFullYear() + &#039;&#039;).substr(4 - RegExp.$1.length))\n  }\n  for (var k in o) {\n    if (new RegExp(&#039;(&#039; + k + &#039;)&#039;).test(fmt)) {\n      fmt = fmt.replace(RegExp.$1, (RegExp.$1.length === 1) ? (o[k]) : ((&#039;00&#039; + o[k]).substr((&#039;&#039; + o[k]).length)))\n    }\n  }\n  return fmt\n}<\/code><\/pre>\n","protected":false},"excerpt":{"rendered":"<p>JavaScript\u65e5\u671f\u683c\u5f0f\u5316\u4e0e\u65e5\u671f\u6821\u9a8c \/\/ \u65e5\u671f\u6821\u9a8c var validateDate = functio [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[33],"tags":[84],"class_list":["post-223","post","type-post","status-publish","format-standard","hentry","category-frontend-basic","tag-javascript"],"_links":{"self":[{"href":"https:\/\/www.appblog.cn\/index.php\/wp-json\/wp\/v2\/posts\/223","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.appblog.cn\/index.php\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.appblog.cn\/index.php\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.appblog.cn\/index.php\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.appblog.cn\/index.php\/wp-json\/wp\/v2\/comments?post=223"}],"version-history":[{"count":0,"href":"https:\/\/www.appblog.cn\/index.php\/wp-json\/wp\/v2\/posts\/223\/revisions"}],"wp:attachment":[{"href":"https:\/\/www.appblog.cn\/index.php\/wp-json\/wp\/v2\/media?parent=223"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.appblog.cn\/index.php\/wp-json\/wp\/v2\/categories?post=223"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.appblog.cn\/index.php\/wp-json\/wp\/v2\/tags?post=223"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}