{"id":951,"date":"2018-09-17T18:45:12","date_gmt":"2018-09-17T09:45:12","guid":{"rendered":"https:\/\/chat-messenger.com\/?p=951"},"modified":"2018-12-23T01:52:45","modified_gmt":"2018-12-22T16:52:45","slug":"difference-month","status":"publish","type":"post","link":"https:\/\/chat-messenger.com\/vi\/blog\/java\/thang-chenh-lech","title":{"rendered":"Java t\u00ecm s\u1ef1 kh\u00e1c bi\u1ec7t v\u1ec1 s\u1ed1 th\u00e1ng gi\u1eefa hai ng\u00e0y"},"content":{"rendered":"<h2 class=\"common_title\"><a name=\"0\">Java t\u00ecm s\u1ef1 kh\u00e1c bi\u1ec7t v\u1ec1 s\u1ed1 th\u00e1ng gi\u1eefa hai ng\u00e0y<\/a><\/h2>\n<p>\nTrong Java, hai<strong>S\u1ef1 kh\u00e1c bi\u1ec7t v\u1ec1 th\u00e1ng gi\u1eefa c\u00e1c ng\u00e0y<\/strong>Gi\u1edbi thi\u1ec7u m\u1ed9t ch\u01b0\u01a1ng tr\u00ecnh m\u1eabu t\u00ecm ki\u1ebfm c\u00e1c t\u1ec7p .<br \/>\nTrong ch\u01b0\u01a1ng tr\u00ecnh m\u1eabu, ng\u00e0y \u0111\u01b0\u1ee3c so s\u00e1nh l\u00e0 m\u1ed9t chu\u1ed7i (yyyy\/MM\/dd) ho\u1eb7c java.util.Date.\n<\/p>\n<p><strong>s\u1ef1 kh\u00e1c bi\u1ec7t trong th\u00e1ng<\/strong>Ph\u01b0\u01a1ng ph\u00e1p t\u00ednh to\u00e1n \u0111\u1ec3 t\u00ecm nh\u01b0 sau.<\/p>\n<ol>\n<li>\u0110\u1ea7u ti\u00ean bi\u1ebfn hai ng\u00e0y th\u00e0nh m\u1ed9t.<br \/>\n    *S\u1eed d\u1ee5ng Calendar.set(Calendar.DATE, 1).<\/li>\n<li>Ti\u1ebfp theo, ch\u00fang t\u00f4i s\u1ebd li\u00ean t\u1ee5c so s\u00e1nh hai ng\u00e0y v\u1edbi kho\u1ea3ng t\u0103ng m\u1ed9t th\u00e1ng.<br \/>\n    *S\u1eed d\u1ee5ng Calendar.add(Calendar.MONTH, 1 ho\u1eb7c -1) \u0111\u1ec3 c\u1ed9ng ho\u1eb7c tr\u1eeb s\u1ed1 th\u00e1ng m\u1ed7i l\u1ea7n.<\/li>\n<li>\u0110\u1ebfm s\u1ed1 l\u1ea7n so s\u00e1nh l\u1eb7p l\u1ea1i<\/li>\n<\/ol>\n<p><script type=\"text\/javascript\" src=\"https:\/\/chat-messenger.com\/js\/common.js?dd12sssas2223\" charset=\"UTF-8\"><\/script><br \/>\n<script type=\"text\/javascript\"> writePR(); <\/script><\/p>\n<h2 class=\"common_title\"><a name=\"1\">ngu\u1ed3n m\u1eabu<\/a><\/h2>\n<p><textarea readonly=\"readonly\" style=\"font-size: 13px;height: 400px;\" class=\"src\" onclick=\"this.focus();this.select()\">\/**<br \/>\n * 2\u3064\u306e\u65e5\u4ed8\u306e\u6708\u6570\u306e\u5dee\u3092\u6c42\u3081\u307e\u3059\u3002<br \/>\n * \u65e5\u4ed8\u6587\u5b57\u5217 strDate1 &#8211; strDate2 \u304c\u4f55\u30f5\u6708\u304b\u3092\u6574\u6570\u3067\u8fd4\u3057\u307e\u3059\u3002<br \/>\n * \u203b\u7aef\u6570\u306e\u65e5\u6570\u306f\u7121\u8996\u3057\u307e\u3059\u3002<br \/>\n *<br \/>\n * @param strDate1    \u65e5\u4ed8\u6587\u5b57\u52171    yyyy\/MM\/dd<br \/>\n * @param strDate2    \u65e5\u4ed8\u6587\u5b57\u52172    yyyy\/MM\/dd<br \/>\n * @return 2\u3064\u306e\u65e5\u4ed8\u306e\u6708\u6570\u306e\u5dee<br \/>\n * @throws ParseException \u65e5\u4ed8\u30d5\u30a9\u30fc\u30de\u30c3\u30c8\u304c\u4e0d\u6b63\u306a\u5834\u5408<br \/>\n *\/<br \/>\npublic static int differenceMonth(String strDate1, String strDate2)<br \/>\n    throws ParseException {<br \/>\n    Date date1 = DateFormat.getDateInstance().parse(strDate1);<br \/>\n    Date date2 = DateFormat.getDateInstance().parse(strDate2);<br \/>\n    return differenceMonth(date1,date2);<br \/>\n}<br \/>\n\/**<br \/>\n * 2\u3064\u306e\u65e5\u4ed8\u306e\u6708\u6570\u306e\u5dee\u3092\u6c42\u3081\u307e\u3059\u3002<br \/>\n * java.util.Date \u578b\u306e\u65e5\u4ed8 date1 &#8211; date2 \u304c\u4f55\u30f5\u6708\u304b\u3092\u6574\u6570\u3067\u8fd4\u3057\u307e\u3059\u3002<br \/>\n * \u203b\u7aef\u6570\u306e\u65e5\u6570\u306f\u7121\u8996\u3057\u307e\u3059\u3002<br \/>\n *<br \/>\n * @param date1    \u65e5\u4ed81 java.util.Date<br \/>\n * @param date2    \u65e5\u4ed82 java.util.Date<br \/>\n * @return 2\u3064\u306e\u65e5\u4ed8\u306e\u6708\u6570\u306e\u5dee<br \/>\n *\/<br \/>\npublic static int differenceMonth(Date date1, Date date2) {<br \/>\n    Calendar cal1 = Calendar.getInstance();<br \/>\n    cal1.setTime(date1);<br \/>\n    cal1.set(Calendar.DATE, 1);<br \/>\n    Calendar cal2 = Calendar.getInstance();<br \/>\n    cal2.setTime(date2);<br \/>\n    cal2.set(Calendar.DATE, 1);<br \/>\n    int count = 0;<br \/>\n    if (cal1.before(cal2)) {<br \/>\n        while (cal1.before(cal2)) {<br \/>\n            cal1.add(Calendar.MONTH, 1);<br \/>\n            count&#8211;;<br \/>\n        }<br \/>\n    } else {<br \/>\n        count&#8211;;<br \/>\n        while (!cal1.before(cal2)) {<br \/>\n            cal1.add(Calendar.MONTH, -1);<br \/>\n            count++;<br \/>\n        }<br \/>\n    }<br \/>\n    return count;<br \/>\n}<br \/>\n<\/textarea><\/p>\n<h2 class=\"common_title\"><a name=\"2\">ch\u1ea5p h\u00e0nh<\/a><\/h2>\n<p>\u25c6V\u00ed d\u1ee5 th\u1ef1c thi<\/p>\n<pre class=\"sample_src\">public static void main(String[] args) { int ret = DifferenceMonth(&quot;2008\/6\/30&quot;,&quot;2008\/6\/1&quot;); System.out.println(&quot;Result1 = &quot;+ret); ret = DifferenceMonth (&quot;2008\/7\/1&quot;,&quot;2008\/6\/3&quot;); System.out.println(&quot;K\u1ebft qu\u1ea3 2 = &quot;+ret); ret = DifferenceMonth(&quot;2008\/12\/20&quot;,&quot;2008\/6 \/ 1&quot;); System.out.println(&quot;K\u1ebft qu\u1ea3 3 = &quot;+ret); ret = DifferenceMonth(&quot;2010\/6\/20&quot;,&quot;2008\/6\/1&quot;); System.out.println(&quot;K\u1ebft qu\u1ea3 4 = &quot;+ret); ret = DifferenceMonth(&quot;2008\/6\/1&quot;,&quot;2008\/7\/1&quot;); System.out.println(&quot;K\u1ebft qu\u1ea3 5 = &quot;+ret); ret = DifferenceMonth(&quot;2008\/7 \/ 1&quot;,&quot;2009\/7\/1&quot;); System.out.println(&quot;K\u1ebft qu\u1ea3 6 = &quot;+ret); }\r\n<\/pre>\n<p>\u25c6K\u1ebft qu\u1ea3 th\u1ef1c hi\u1ec7n<\/p>\n<pre class=\"console\">K\u1ebft qu\u1ea3 1 = 0 K\u1ebft qu\u1ea3 2 = 1 K\u1ebft qu\u1ea3 3 = 6 K\u1ebft qu\u1ea3 4 = 24 K\u1ebft qu\u1ea3 5 = -1 K\u1ebft qu\u1ea3 6 = -12\r\n<\/pre>\n<p>\nCh\u01b0\u01a1ng tr\u00ecnh m\u1eabu n\u00e0y d\u00e0nh cho Chat&amp;Messenger.<a href=\"https:\/\/chat-messenger.com\/vi\/thu-cong\/schedule_calendar\/lich\/\" title=\"Ch\u1ee9c n\u0103ng qu\u1ea3n l\u00fd l\u1ecbch\/l\u1ecbch tr\u00ecnh\">Ch\u1ee9c n\u0103ng qu\u1ea3n l\u00fd l\u1ecbch\/l\u1ecbch tr\u00ecnh<\/a>\u201d th\u1ef1c s\u1ef1 \u0111\u01b0\u1ee3c s\u1eed d\u1ee5ng.<\/p>","protected":false},"excerpt":{"rendered":"<p>Java T\u00ecm s\u1ef1 kh\u00e1c bi\u1ec7t v\u1ec1 s\u1ed1 th\u00e1ng gi\u1eefa hai ng\u00e0y Gi\u1edbi thi\u1ec7u m\u1ed9t ch\u01b0\u01a1ng tr\u00ecnh m\u1eabu trong Java \u0111\u1ec3 t\u00ecm s\u1ef1 kh\u00e1c bi\u1ec7t v\u1ec1 s\u1ed1 th\u00e1ng gi\u1eefa hai ng\u00e0y [\u2026]<\/p>","protected":false},"author":2,"featured_media":0,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"swell_btn_cv_data":""},"categories":[19],"tags":[],"_links":{"self":[{"href":"https:\/\/chat-messenger.com\/vi\/wp-json\/wp\/v2\/posts\/951"}],"collection":[{"href":"https:\/\/chat-messenger.com\/vi\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/chat-messenger.com\/vi\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/chat-messenger.com\/vi\/wp-json\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"https:\/\/chat-messenger.com\/vi\/wp-json\/wp\/v2\/comments?post=951"}],"version-history":[{"count":4,"href":"https:\/\/chat-messenger.com\/vi\/wp-json\/wp\/v2\/posts\/951\/revisions"}],"predecessor-version":[{"id":1878,"href":"https:\/\/chat-messenger.com\/vi\/wp-json\/wp\/v2\/posts\/951\/revisions\/1878"}],"wp:attachment":[{"href":"https:\/\/chat-messenger.com\/vi\/wp-json\/wp\/v2\/media?parent=951"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/chat-messenger.com\/vi\/wp-json\/wp\/v2\/categories?post=951"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/chat-messenger.com\/vi\/wp-json\/wp\/v2\/tags?post=951"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}