{"id":954,"date":"2018-09-17T18:48:48","date_gmt":"2018-09-17T09:48:48","guid":{"rendered":"https:\/\/chat-messenger.com\/?p=954"},"modified":"2018-12-23T01:52:35","modified_gmt":"2018-12-22T16:52:35","slug":"calculating-dates","status":"publish","type":"post","link":"https:\/\/chat-messenger.com\/zh\/\u535a\u5ba2\/java\/\u8ba1\u7b97\u65e5\u671f","title":{"rendered":"Java \u65e5\u671f\u548c\u65f6\u95f4\u8ba1\u7b97 \u52a0\u6cd5\u548c\u51cf\u6cd5\u53d8\u5f97\u7b80\u5355"},"content":{"rendered":"<h2 class=\"common_title\"><a name=\"0\">Java <strong>\u65e5\u671f\u548c\u65f6\u95f4\u8ba1\u7b97<\/strong>\u3000\u52a0\u51cf\u6cd5\u53d8\u5f97\u7b80\u5355<\/a><\/h2>\n<p>\n\u3000\u8f7b\u677e\u4f7f\u7528 Java<strong>\u8ba1\u7b97\u65e5\u671f\u548c\u65f6\u95f4\u7684\u52a0\u51cf\u6cd5<\/strong>\u4e0b\u9762\u7684\u793a\u4f8b\u7a0b\u5e8f\u5c31\u662f\u8fd9\u6837\u505a\u7684\u3002<br \/>\u6837\u672c\u8ba1\u5212\u7684\u7279\u70b9\u5982\u4e0b\u3002<\/p>\n<ul>\n<li>\u8fd4\u56de\u5f53\u524d\u65e5\u671f\/\u65f6\u95f4\u6216\u4efb\u610f\u65e5\u671f\/\u65f6\u95f4\u52a0\u4e0a\u6216\u51cf\u53bb\u6307\u5b9a\u65f6\u95f4\u7684\u7ed3\u679c\u3002<\/li>\n<li>\u5982\u679c\u6307\u5b9a\u7684\u662f\u6b63\u6570\uff0c\u5219\u65f6\u95f4\u524d\u8fdb\uff1b\u5982\u679c\u6307\u5b9a\u7684\u662f\u8d1f\u6570\uff0c\u5219\u65f6\u95f4\u540e\u9000\u3002<br \/>\n\u4f8b\u5982\uff0c\u5f53\u524d\u65e5\u671f\u65f6\u95f4\u524d 10 \u5929\u3002<strong>\u8ba1\u7b97<\/strong>\u5982\u679c\u662f\u8fd9\u6837\uff0c\u5219\u9002\u7528\u4ee5\u4e0b\u89c4\u5b9a\u3002<br \/>\n<b>Calendar cal = addMonth(-10);.<\/b>\n<\/li>\n<li>\u5e74\u3001\u6708\u3001\u65e5\u3001\u5c0f\u65f6\u3001\u5206\u949f\u3001\u79d2\u548c\u6beb\u79d2\u65f6\u95f4\u5b57\u6bb5\u53ef\u8bbe\u7f6e\u4efb\u610f\u65f6\u95f4\u91cf\u3002<br \/>\n\u6b64\u5916\uff0c\u76f8\u5bf9\u4e8e\u6307\u5b9a\u65f6\u95f4<strong>\u8ba1\u7b97<\/strong>\u5982\u679c\u9700\u8981\uff0c\u53ef\u5c06\u65e5\u5386\u7c7b\u4f5c\u4e3a\u53c2\u6570\u4f20\u9012\u3002<br \/>\n\u4f8b\u5982\uff0c\u4ee5\u4e0b\u5185\u5bb9\u5c06\u4ece\u7ed9\u5b9a\u7684\u65e5\u5386\u5b9e\u4f8b\u5411\u524d\u63a8\u8fdb\u4e00\u5e74\u3002<br \/>\n<b>Calendar cal = add(\"\u6307\u5b9a\u65e5\u5386\",1,0,0,0,0,0,0)\uff1b<\/b>\n<\/li>\n<li>\u5982\u679c\u6bcf\u4e2a\u65f6\u95f4\u5b57\u6bb5\u7684\u503c\u8d85\u51fa\u5176\u8303\u56f4\uff0c\u4e0b\u4e00\u4e2a\u8f83\u5927\u7684\u65f6\u95f4\u5b57\u6bb5\u5c06\u9012\u589e\u6216\u9012\u51cf\u3002<br \/>\n\u4f8b\u5982\uff0c\u4e0b\u9762\u7684\u547d\u4ee4\u4f1a\u5c06\u5f53\u524d\u65f6\u95f4\u63d0\u524d\u4e00\u5c0f\u65f6\u96f6\u4e94\u5206\u949f\u3002<br \/>\n<b>Calendar cal = addMinute(65);.<\/b>\n<\/li>\n<\/ul>\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=\"2\">\u793a\u4f8b\u7a0b\u5e8f<\/a><\/h2>\n<p><textarea readonly=\"readonly\" style=\"font-size: 13px;height: 400px;\" class=\"src\" onclick=\"this.focus();this.select()\">\/**<br \/>\n * \u73fe\u5728\u306e\u65e5\u4ed8\u30fb\u6642\u523b\u304b\u3089\u6307\u5b9a\u306e\u3010\u5e74\u6570\u3011\u3092\u52a0\u7b97\u30fb\u6e1b\u7b97\u3057\u305f\u7d50\u679c\u3092\u8fd4\u3057\u307e\u3059\u3002<br \/>\n * @param addYera \u52a0\u7b97\u30fb\u6e1b\u7b97\u3059\u308b\u5e74\u6570<br \/>\n * @return    \u8a08\u7b97\u5f8c\u306e Calendar \u30a4\u30f3\u30b9\u30bf\u30f3\u30b9\u3002<br \/>\n *\/<br \/>\npublic static Calendar addYera(int addYera){<br \/>\n    return add(null,addYera,0,0,0,0,0,0);<br \/>\n}<br \/>\n\/**<br \/>\n * \u73fe\u5728\u306e\u65e5\u4ed8\u30fb\u6642\u523b\u304b\u3089\u6307\u5b9a\u306e\u3010\u6708\u6570\u3011\u3092\u52a0\u7b97\u30fb\u6e1b\u7b97\u3057\u305f\u7d50\u679c\u3092\u8fd4\u3057\u307e\u3059\u3002<br \/>\n * @param addMonth \u52a0\u7b97\u30fb\u6e1b\u7b97\u3059\u308b\u6708\u6570<br \/>\n * @return    \u8a08\u7b97\u5f8c\u306e Calendar \u30a4\u30f3\u30b9\u30bf\u30f3\u30b9\u3002<br \/>\n *\/<br \/>\npublic static Calendar addMonth(int addMonth){<br \/>\n    return add(null,0,addMonth,0,0,0,0,0);<br \/>\n}<br \/>\n\/**<br \/>\n * \u73fe\u5728\u306e\u65e5\u4ed8\u30fb\u6642\u523b\u304b\u3089\u6307\u5b9a\u306e\u3010\u65e5\u6570\u3011\u3092\u52a0\u7b97\u30fb\u6e1b\u7b97\u3057\u305f\u7d50\u679c\u3092\u8fd4\u3057\u307e\u3059\u3002<br \/>\n * @param addDate \u52a0\u7b97\u30fb\u6e1b\u7b97\u3059\u308b\u65e5\u6570<br \/>\n * @return    \u8a08\u7b97\u5f8c\u306e Calendar \u30a4\u30f3\u30b9\u30bf\u30f3\u30b9\u3002<br \/>\n *\/<br \/>\npublic static Calendar addDate(int addDate){<br \/>\n    return add(null,0,0,addDate,0,0,0,0);<br \/>\n}<br \/>\n\/**<br \/>\n * \u73fe\u5728\u306e\u65e5\u4ed8\u30fb\u6642\u523b\u304b\u3089\u6307\u5b9a\u306e\u3010\u6642\u9593\u3011\u3092\u52a0\u7b97\u30fb\u6e1b\u7b97\u3057\u305f\u7d50\u679c\u3092\u8fd4\u3057\u307e\u3059\u3002<br \/>\n * @param addHour \u52a0\u7b97\u30fb\u6e1b\u7b97\u3059\u308b\u6642\u9593<br \/>\n * @return    \u8a08\u7b97\u5f8c\u306e Calendar \u30a4\u30f3\u30b9\u30bf\u30f3\u30b9\u3002<br \/>\n *\/<br \/>\npublic static Calendar addHour(int addHour){<br \/>\n    return add(null,0,0,0,addHour,0,0,0);<br \/>\n}<br \/>\n\/**<br \/>\n * \u73fe\u5728\u306e\u65e5\u4ed8\u30fb\u6642\u523b\u304b\u3089\u6307\u5b9a\u306e\u3010\u5206\u3011\u3092\u52a0\u7b97\u30fb\u6e1b\u7b97\u3057\u305f\u7d50\u679c\u3092\u8fd4\u3057\u307e\u3059\u3002<br \/>\n * @param addMinute \u52a0\u7b97\u30fb\u6e1b\u7b97\u3059\u308b\u5206<br \/>\n * @return    \u8a08\u7b97\u5f8c\u306e Calendar \u30a4\u30f3\u30b9\u30bf\u30f3\u30b9\u3002<br \/>\n *\/<br \/>\npublic static Calendar addMinute(int addMinute){<br \/>\n    return add(null,0,0,0,0,addMinute,0,0);<br \/>\n}<br \/>\n\/**<br \/>\n * \u73fe\u5728\u306e\u65e5\u4ed8\u30fb\u6642\u523b\u304b\u3089\u6307\u5b9a\u306e\u3010\u79d2\u3011\u3092\u52a0\u7b97\u30fb\u6e1b\u7b97\u3057\u305f\u7d50\u679c\u3092\u8fd4\u3057\u307e\u3059\u3002<br \/>\n * @param addSecond \u52a0\u7b97\u30fb\u6e1b\u7b97\u3059\u308b\u79d2<br \/>\n * @return    \u8a08\u7b97\u5f8c\u306e Calendar \u30a4\u30f3\u30b9\u30bf\u30f3\u30b9\u3002<br \/>\n *\/<br \/>\npublic static Calendar addSecond(int addSecond){<br \/>\n    return add(null,0,0,0,0,0,addSecond,0);<br \/>\n}<br \/>\n\/**<br \/>\n * \u73fe\u5728\u306e\u65e5\u4ed8\u30fb\u6642\u523b\u304b\u3089\u6307\u5b9a\u306e\u6642\u9593\u91cf\u3092\u52a0\u7b97\u30fb\u6e1b\u7b97\u3057\u305f\u7d50\u679c\u3092\u8fd4\u3057\u307e\u3059\u3002<br \/>\n * \u5e74\u3001\u6708\u3001\u65e5\u3001\u6642\u9593\u3001\u5206\u3001\u79d2\u3001\u30df\u30ea\u79d2\u306e\u5404\u6642\u9593\u30d5\u30a3\u30fc\u30eb\u30c9\u306b\u5bfe\u3057\u3001<br \/>\n * \u4efb\u610f\u306e\u6642\u9593\u91cf\u3092\u8a2d\u5b9a\u3067\u304d\u307e\u3059\u3002<br \/>\n * \u305f\u3068\u3048\u3070\u3001\u73fe\u5728\u306e\u65e5\u4ed8\u6642\u523b\u304b\u3089 10 \u65e5\u524d\u3092\u8a08\u7b97\u3059\u308b\u5834\u5408\u306f\u4ee5\u4e0b\u3068\u306a\u308a\u307e\u3059\u3002<br \/>\n * Calendar cal = add(null,0,0,-10,0,0,0,0);<br \/>\n *<br \/>\n * \u5404\u6642\u9593\u30d5\u30a3\u30fc\u30eb\u30c9\u306e\u5024\u304c\u305d\u306e\u7bc4\u56f2\u3092\u8d85\u3048\u305f\u5834\u5408\u3001\u6b21\u306e\u5927\u304d\u3044\u6642\u9593\u30d5\u30a3\u30fc\u30eb\u30c9\u304c<br \/>\n * \u5897\u5206\u307e\u305f\u306f\u6e1b\u5206\u3055\u308c\u307e\u3059\u3002<br \/>\n * \u305f\u3068\u3048\u3070\u3001\u4ee5\u4e0b\u3067\u306f1\u6642\u9593\u30685\u5206\u9032\u3081\u308b\u3053\u3068\u306b\u306a\u308a\u307e\u3059\u3002<br \/>\n * Calendar cal = add(null,0,0,0,0,65,0,0);<br \/>\n *<br \/>\n * \u5404\u6642\u9593\u30d5\u30a3\u30fc\u30eb\u30c9\u306b\u8a2d\u5b9a\u3059\u308b\u6570\u91cf\u304c0\u306e\u5834\u5408\u306f\u3001\u73fe\u5728\u306e\u5024\u304c\u8a2d\u5b9a\u3055\u308c\u307e\u3059\u3002<br \/>\n * java.util.GregorianCalendar\u306e\u5185\u90e8\u51e6\u7406\u3067\u306f\u4ee5\u4e0b\u306e\u5206\u5c90\u3092\u884c\u3063\u3066\u3044\u308b\u3002<br \/>\n *     if (amount == 0) {<br \/>\n *         return;<br \/>\n *     }<br \/>\n *<br \/>\n * @param cal \u65e5\u4ed8\u6642\u523b\u306e\u6307\u5b9a\u304c\u3042\u308c\u3070\u30bb\u30c3\u30c8\u3059\u308b\u3002<br \/>\n *     null\u306e\u5834\u5408\u3001\u73fe\u5728\u306e\u65e5\u4ed8\u6642\u523b\u3067\u65b0\u3057\u3044Calendar\u30a4\u30f3\u30b9\u30bf\u30f3\u30b9\u3092\u751f\u6210\u3059\u308b\u3002<br \/>\n * @param addYera \u52a0\u7b97\u30fb\u6e1b\u7b97\u3059\u308b\u5e74\u6570<br \/>\n * @param addMonth \u52a0\u7b97\u30fb\u6e1b\u7b97\u3059\u308b\u6708\u6570<br \/>\n * @param addDate \u52a0\u7b97\u30fb\u6e1b\u7b97\u3059\u308b\u65e5\u6570<br \/>\n * @param addHour \u52a0\u7b97\u30fb\u6e1b\u7b97\u3059\u308b\u6642\u9593<br \/>\n * @param addMinute \u52a0\u7b97\u30fb\u6e1b\u7b97\u3059\u308b\u5206<br \/>\n * @param addSecond \u52a0\u7b97\u30fb\u6e1b\u7b97\u3059\u308b\u79d2<br \/>\n * @param addMillisecond \u52a0\u7b97\u30fb\u6e1b\u7b97\u3059\u308b\u30df\u30ea\u79d2<br \/>\n * @return    \u8a08\u7b97\u5f8c\u306e Calendar \u30a4\u30f3\u30b9\u30bf\u30f3\u30b9\u3002<br \/>\n *\/<br \/>\npublic static Calendar add(Calendar cal,<br \/>\n                           int addYera,int addMonth,int addDate,<br \/>\n                           int addHour,int addMinute,int addSecond,<br \/>\n                           int addMillisecond){<br \/>\n    if (cal == null) {<br \/>\n        cal = Calendar.getInstance();<br \/>\n    }<br \/>\n    cal.add(Calendar.YEAR, addYera);<br \/>\n    cal.add(Calendar.MONTH, addMonth);<br \/>\n    cal.add(Calendar.DATE, addDate);<br \/>\n    cal.add(Calendar.HOUR_OF_DAY, addHour);<br \/>\n    cal.add(Calendar.MINUTE, addMinute);<br \/>\n    cal.add(Calendar.SECOND, addSecond);<br \/>\n    cal.add(Calendar.MILLISECOND, addMillisecond);<br \/>\n    return cal;<br \/>\n}<br \/>\n<\/textarea><br \/>\n<\/p>\n<h2 class=\"common_title\"><a name=\"3\">\u6267\u884c<\/a><\/h2>\n<p>\n\u3000\u5728\u793a\u4f8b\u7a0b\u5e8f\u4e2d\uff0c\u8fd4\u56de\u503c\u4e3a<strong>\u8ba1\u7b97\u540e<\/strong>\u65e5\u5386\u5bf9\u8c61\uff0c\u5b83\u4fdd\u5b58\u65e5\u671f\u7684\u65e5\u671f\uff0c\u56e0\u6b64\u53ef\u4ee5\u901a\u8fc7 java.util.Calendar#getTime() \u65b9\u6cd5\u8f6c\u6362\u4e3a java.util.Date\uff0c\u7136\u540e\u518d\u901a\u8fc7 java.text.SimpleDateFormat \u8f6c\u6362\u4e3a java.util.Date\u3002\u8f6c\u6362\u4e3a\u65e5\u671f\u5b57\u7b26\u4e32\u3002\n<\/p>\n<p>\u6267\u884c\u793a\u4f8b<\/p>\n<pre class=\"sample_src\">public static void main(String[] args) {\r\n\r\nSimpleDateFormat f = new SimpleDateFormat(\"yyyy\/MM\/dd HH:mm:ss\");.\r\nSystem.out.println(\"Current date\/time = \" + f.format(add(null,0,0,0,0,0,0,0,0).getTime())\uff1b\r\nSystem.out.println(\"1 \u5e74\u540e\u7684\u65e5\u671f\/\u65f6\u95f4 = \"+ f.format(addYera(1).getTime())))\uff1b\r\nSystem.out.println(\"\u4e00\u4e2a\u6708\u524d\u7684\u65e5\u671f\/\u65f6\u95f4 = \"+ f.format(addMonth(-1).getTime())))\uff1b\r\nSystem.out.println(\"3 \u5c0f\u65f6\u540e\u7684\u65e5\u671f\/\u65f6\u95f4 = \"+ f.format(addHour(3).getTime())))\uff1b\r\nSystem.out.println(\"30 \u5c0f\u65f6\u524d\u7684\u65e5\u671f\/\u65f6\u95f4 = \"+ f.format(addHour(-30).getTime())))\uff1b\r\nSystem.out.println(\"40 \u5206\u949f\u540e\u7684\u65e5\u671f\/\u65f6\u95f4 = \"+ f.format(addMinute(40).getTime())))\uff1b\r\nSystem.out.println\uff08\"80 \u79d2\u540e\u7684\u65e5\u671f\/\u65f6\u95f4 = \"+ f.format(addSecond(80).getTime())))\uff1b\r\nSystem.out.println(\"1 \u4e2a\u6708\u524d\u7684\u65e5\u671f\/\u65f6\u95f4\uff0c4 \u5929\u540e = \"+ f.format(add(null,0,-1,4,0,0,0,0,0).getTime())))\uff1b\r\n\r\n}\r\n<\/pre>\n<p>\u6267\u884c\u7ed3\u679c<br \/>\n\u5f53\u524d\u65e5\u671f\u548c\u65f6\u95f4\u4e3a 25\/03\/2008\uff1a00:00:00\u3002<\/p>\n<pre class=\"console\">\u5f53\u524d\u65e5\u671f\/\u65f6\u95f4 = 25\/03\/2008 00:00:00\r\n\u4e00\u5e74\u540e\u7684\u65e5\u671f\/\u65f6\u95f4 = 2009\/03\/25 00:00:00\r\n\u4e00\u4e2a\u6708\u524d\u7684\u65e5\u671f\u548c\u65f6\u95f4 = 2008\/02\/25 00:00:00\r\n3 \u5c0f\u65f6\u540e\u7684\u65e5\u671f\/\u65f6\u95f4 = 2008\/03\/25 03:00:00\r\n30 \u5c0f\u65f6\u524d\u7684\u65e5\u671f\/\u65f6\u95f4 = 2008\/03\/23 18:00:00\r\n40 \u5206\u949f\u540e\u7684\u65e5\u671f\/\u65f6\u95f4 = 2008\/03\/25 00:40:00\r\n80 \u79d2\u540e\u7684\u65e5\u671f\/\u65f6\u95f4 = 2008\/03\/25 00:01:20\r\n\u4e00\u4e2a\u6708\u524d 4 \u5929\u540e\u7684\u65e5\u671f\/\u65f6\u95f4 = 2008\/02\/29 00:00:00\r\n<\/pre>\n<p>*\u56e0\u4e3a 2008 \u5e74\u662f\u95f0\u5e74\uff0c\u6240\u4ee5 2 \u6708\u7684\u7ed3\u675f\u65e5\u671f\u662f 29 \u65e5\u3002<\/p>\n<p>\u8be5\u793a\u4f8b\u7a0b\u5e8f\u6765\u81ea Chat&amp;Messenger \u7684 \"<a href=\"https:\/\/chat-messenger.com\/zh\/\u624b\u518c\/schedule_calendar\/\u884c\u4e8b\u5386\/\" title=\"\u65e5\u5386\u548c\u65e5\u7a0b\u5b89\u6392\u529f\u80fd\">\u65e5\u5386\u548c\u65e5\u7a0b\u5b89\u6392\u529f\u80fd<\/a>\u8be5\u7cfb\u7edf\u5b9e\u9645\u7528\u4e8e\u4ee5\u4e0b\u9886\u57df\u3002<\/p>","protected":false},"excerpt":{"rendered":"<p>Java \u65e5\u671f\/\u65f6\u95f4\u8ba1\u7b97\u8f7b\u677e\u52a0\/\u51cf\u4e00\u4e2a\u793a\u4f8b\u7a0b\u5e8f\uff0c\u7528\u4e8e\u5728 Java \u4e2d\u8f7b\u677e\u8ba1\u7b97\u65e5\u671f\/\u65f6\u95f4\u7684\u52a0\/\u51cf [...]<\/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\/zh\/wp-json\/wp\/v2\/posts\/954"}],"collection":[{"href":"https:\/\/chat-messenger.com\/zh\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/chat-messenger.com\/zh\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/chat-messenger.com\/zh\/wp-json\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"https:\/\/chat-messenger.com\/zh\/wp-json\/wp\/v2\/comments?post=954"}],"version-history":[{"count":6,"href":"https:\/\/chat-messenger.com\/zh\/wp-json\/wp\/v2\/posts\/954\/revisions"}],"predecessor-version":[{"id":1877,"href":"https:\/\/chat-messenger.com\/zh\/wp-json\/wp\/v2\/posts\/954\/revisions\/1877"}],"wp:attachment":[{"href":"https:\/\/chat-messenger.com\/zh\/wp-json\/wp\/v2\/media?parent=954"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/chat-messenger.com\/zh\/wp-json\/wp\/v2\/categories?post=954"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/chat-messenger.com\/zh\/wp-json\/wp\/v2\/tags?post=954"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}