{"id":972,"date":"2019-02-22T00:57:27","date_gmt":"2019-02-21T15:57:27","guid":{"rendered":"https:\/\/chat-messenger.com\/?p=972"},"modified":"2019-06-30T18:43:45","modified_gmt":"2019-06-30T09:43:45","slug":"every-date-string-tocalendar","status":"publish","type":"post","link":"https:\/\/chat-messenger.com\/de\/blog\/java\/jede-datumszeichenfolge-im-kalender","title":{"rendered":"Java Beliebige Datums-\/Uhrzeitzeichenfolge f\u00fcr den Typ \u201eDatum, Kalender\u201c."},"content":{"rendered":"<h2 class=\"common_title\"><a name=\"0\">jeden<strong>Datum<\/strong>\u30fb<strong>Zeit<\/strong>Zeichenfolge<strong>java.util.Datum<\/strong>,,<strong>java.util.Calendar<\/strong>konvertieren zu<\/a><\/h2>\n<p>Alles in Java<strong>Datum, Zeitzeichenfolge<\/strong>, wenn m\u00f6glich <strong>java.util.Calendar<\/strong> ,, <strong>java.util.Datum<\/strong> Dies ist ein Beispielprogramm zum Konvertieren in Typ.<\/p>\n<p>Formatieren Sie f\u00fcr die Konvertierung zun\u00e4chst die Standardzeichenfolge f\u00fcr Datum und Uhrzeit <strong>java.util.Calendar<\/strong> In Typ konvertieren. Wenn die Konvertierung nicht m\u00f6glich ist, wird eine IllegalArgumentException ausgel\u00f6st<\/p>\n<p>Auch,<strong>java.util.Datum<\/strong> Verwenden Sie zum Konvertieren in einen Typ die Methode getTime() der Calendar-Klasse.<\/p>\n<p>Folgende Datumsformate k\u00f6nnen konvertiert werden.<\/p>\n<div class=\"related\">\n<ul>\n<li><strong>jjjj\/MM\/tt<\/strong><\/li>\n<li><strong>jj\/mm\/tt<\/strong><\/li>\n<li><strong>jjjj-MM-tt<\/strong><\/li>\n<li><strong>jj-mm-tt<\/strong><\/li>\n<li><strong>jjjjMMtt<\/strong><\/li>\n<\/ul>\n<p>Dies gilt auch, wenn die folgenden Zeitfelder mit den oben genannten kombiniert werden.<\/p>\n<ul>\n<li><strong>HH: mm<\/strong><\/li>\n<li><strong>HH:mm:ss<\/strong><\/li>\n<li><strong>HH:mm:ss.SSS<\/strong><\/li>\n<\/ul>\n<\/div>\n<h2 class=\"common_title\"><a name=\"1\">Beispielprogramm<\/a><\/h2>\n<p><textarea readonly=\"readonly\" style=\"font-size: 13px;height: 400px;\" class=\"src\" onclick=\"this.focus();this.select()\">\/**<br \/>\n * \u6307\u5b9a\u3055\u308c\u305f\u65e5\u4ed8\u30fb\u6642\u523b\u6587\u5b57\u5217\u3092\u3001\u53ef\u80fd\u3067\u3042\u308c\u3070<br \/>\n * Calendar\u30af\u30e9\u30b9\u306b\u5909\u63db\u3057\u307e\u3059\u3002<br \/>\n * \u4ee5\u4e0b\u306e\u5f62\u5f0f\u306e\u65e5\u4ed8\u6587\u5b57\u5217\u3092\u5909\u63db\u3067\u304d\u307e\u3059\u3002<br \/>\n *<br \/>\n * \u25cf\u5909\u63db\u53ef\u80fd\u306a\u5f62\u5f0f\u306f\u4ee5\u4e0b\u3068\u306a\u308a\u307e\u3059\u3002<br \/>\n *  yyyy\/MM\/dd<br \/>\n *  yy\/MM\/dd<br \/>\n *  yyyy-MM-dd<br \/>\n *  yy-MM-dd<br \/>\n *  yyyyMMdd<br \/>\n *<br \/>\n * \u4e0a\u8a18\u306b\u4ee5\u4e0b\u306e\u6642\u9593\u30d5\u30a3\u30fc\u30eb\u30c9\u304c\u7d44\u307f\u5408\u308f\u3055\u308c\u305f\u72b6\u614b<br \/>\n * \u3067\u3082\u6709\u52b9\u3067\u3059\u3002<br \/>\n *  HH:mm<br \/>\n *  HH:mm:ss<br \/>\n *  HH:mm:ss.SSS<br \/>\n *<br \/>\n * @param strDate \u65e5\u4ed8\u30fb\u6642\u523b\u6587\u5b57\u5217\u3002<br \/>\n * @return \u5909\u63db\u5f8c\u306eCalendar\u30af\u30e9\u30b9\u3002<br \/>\n * @throws IllegalArgumentException<br \/>\n *         \u65e5\u4ed8\u6587\u5b57\u5217\u304c\u5909\u63db\u4e0d\u53ef\u80fd\u306a\u5834\u5408<br \/>\n *         \u307e\u305f\u306f\u3001\u77db\u76fe\u3057\u3066\u3044\u308b\u5834\u5408\uff08\u4f8b\uff1a2000\/99\/99\uff09\u3002<br \/>\n *\/<br \/>\npublic static Calendar toCalendar(String strDate){<br \/>\n    strDate = format(strDate);<br \/>\n    Calendar cal = Calendar.getInstance();<br \/>\n    cal.setLenient(false);<\/p>\n<p>    int yyyy = Integer.parseInt(strDate.substring(0,4));<br \/>\n    int MM = Integer.parseInt(strDate.substring(5,7));<br \/>\n    int dd = Integer.parseInt(strDate.substring(8,10));<br \/>\n    int HH = cal.get(Calendar.HOUR_OF_DAY);<br \/>\n    int mm = cal.get(Calendar.MINUTE);<br \/>\n    int ss = cal.get(Calendar.SECOND);<br \/>\n    int SSS = cal.get(Calendar.MILLISECOND);<br \/>\n    cal.clear();<br \/>\n    cal.set(yyyy,MM-1,dd);<br \/>\n    int len = strDate.length();<br \/>\n    Schalter (len) {<br \/>\n        Fall 10:<br \/>\n            brechen;<br \/>\n        Fall 16: \/\/ jjjj\/MM\/tt HH:mm<br \/>\n            HH = Integer.parseInt(strDate.substring(11,13));<br \/>\n            mm = Integer.parseInt(strDate.substring(14,16));<br \/>\n            cal.set(Calendar.HOUR_OF_DAY,HH);<br \/>\n            cal.set(Calendar.MINUTE,mm);<br \/>\n            brechen;<br \/>\n        Fall 19: \/\/jjjj\/MM\/tt HH:mm:ss<br \/>\n            HH = Integer.parseInt(strDate.substring(11,13));<br \/>\n            mm = Integer.parseInt(strDate.substring(14,16));<br \/>\n            ss = Integer.parseInt(strDate.substring(17,19));<br \/>\n            cal.set(Calendar.HOUR_OF_DAY,HH);<br \/>\n            cal.set(Calendar.MINUTE,mm);<br \/>\n            cal.set(Calendar.SECOND,ss);<br \/>\n            brechen;<br \/>\n        Fall 23: \/\/yyyy\/MM\/dd HH:mm:ss.SSS<br \/>\n            HH = Integer.parseInt(strDate.substring(11,13));<br \/>\n            mm = Integer.parseInt(strDate.substring(14,16));<br \/>\n            ss = Integer.parseInt(strDate.substring(17,19));<br \/>\n            SSS = Integer.parseInt(strDate.substring(20,23));<br \/>\n            cal.set(Calendar.HOUR_OF_DAY,HH);<br \/>\n            cal.set(Calendar.MINUTE,mm);<br \/>\n            cal.set(Calendar.SECOND,ss);<br \/>\n            cal.set(Calendar.MILLISECOND,SSS);<br \/>\n            brechen;<br \/>\n        Standard :<br \/>\n            wirf eine neue IllegalArgumentException(<br \/>\n                    \u201eArgument string[\u201c+ strDate +<br \/>\n                    \u201e] kann nicht in eine Datumszeichenfolge konvertiert werden\u201c);<br \/>\n    }<br \/>\n    return cal;<br \/>\n}<\/p>\n<p>\/**<br \/>\n * Standard-Datums-\/Uhrzeitformat f\u00fcr verschiedene Datums-\/Uhrzeitzeichenfolgen<br \/>\n Konvertieren zu *.<br \/>\n *<br \/>\n * \u25cfDas Standarddatumsformat ist wie folgt.<br \/>\n * Nur f\u00fcr Datum: jjjj\/MM\/tt<br \/>\n * F\u00fcr Datum + Uhrzeit: jjjj\/MM\/tt HH:mm:ss.SSS<br \/>\n *<br \/>\n * @param str String zum Konvertieren<br \/>\n * @return Standardformat f\u00fcr Datum und Uhrzeit<br \/>\n * @throws IllegalArgumentException<br \/>\n * Wenn die Datumszeichenfolge nicht konvertiert werden kann<br \/>\n *\/<br \/>\nprivates statisches String-Format(String str){<br \/>\n    if (str == null || str.trim().length() &lt; 8) {<br \/>\n        wirf eine neue IllegalArgumentException(<br \/>\n                \u201eArgument string [\u201c+ str +<br \/>\n                \u201e] kann nicht in eine Datumszeichenfolge konvertiert werden\u201c);<br \/>\n    }<br \/>\n    str = str.trim();<br \/>\n    String yyyy = null; String MM = null; String dd = null;<br \/>\n    Zeichenfolge HH = null; Zeichenfolge mm = null;<br \/>\n    String ss = null;String ss = null;<br \/>\n    \/\/ Wenn \u201e-\u201c oder \u201e\/\u201c fehlt<br \/>\n    if (str.indexOf(\u201c\/\u201d)==-1 &amp;&amp; str.indexOf(\u201c-\u201c)==-1) {<br \/>\n        if (str.length() == 8) {<br \/>\n            yyyy = str.substring(0,4);<br \/>\n            MM = str.substring(4,6);<br \/>\n            dd = str.substring(6,8);<br \/>\n            return yyyy+\u201c\/\u201c+MM+\u201c\/\u201c+dd;<br \/>\n        }<br \/>\n        yyyy = str.substring(0,4);<br \/>\n        MM = str.substring(4,6);<br \/>\n        dd = str.substring(6,8);<br \/>\n        HH = str.substring(9,11);<br \/>\n        mm = str.substring(12,14);<br \/>\n        ss = str.substring(15,17);<br \/>\n        return yyyy+\u201c\/\u201c+MM+\u201c\/\u201c+dd+\u201c \u201e+HH+\u201c:\u201c+mm+\u201c:\u201c+ss;<br \/>\n    }<br \/>\n    StringTokenizer token = new StringTokenizer(str\u201c,_\/-:. \u201e);<br \/>\n    StringBuffer result = new StringBuffer();<br \/>\n    for(int i = 0; token.hasMoreTokens(); i++) {<br \/>\n        String temp = token.nextToken();<br \/>\n        switch(i){<br \/>\n            Fall 0:\/\/ Jahresteil<br \/>\n                yyyy = fillString(str, temp, \u201eL\u201c, \u201e20\u201c, 4);<br \/>\n                result.append(yyyy);<br \/>\n                brechen;<br \/>\n            Fall 1:\/\/ Monatsteil<br \/>\n                MM = fillString(str, temp, \u201eL\u201c, \u201e0\u201c, 2);<br \/>\n                result.append(\u201c\/\u201d+MM);<br \/>\n                brechen;<br \/>\n            Fall 2:\/\/ Tagesteil<br \/>\n                dd = fillString(str, temp, \u201eL\u201c, \u201e0\u201c, 2);<br \/>\n                result.append(\u201c\/\u201d+dd);<br \/>\n                brechen;<br \/>\n            Fall 3:\/\/ Zeitteil<br \/>\n                HH = fillString(str, temp, \u201eL\u201c, \u201e0\u201c, 2);<br \/>\n                result.append(\u201c \u201e+HH);<br \/>\n                brechen;<br \/>\n            Fall 4:\/\/ Minutenteil<br \/>\n                mm = fillString(str, temp, \u201eL\u201c, \u201e0\u201c, 2);<br \/>\n                result.append(\u201c:\u201d+mm);<br \/>\n                brechen;<br \/>\n            Fall 5:\/\/ zweiter Teil<br \/>\n                ss = fillString(str, temp, \u201eL\u201c, \u201e0\u201c, 2);<br \/>\n                result.append(\u201c:\u201d+ss);<br \/>\n                brechen;<br \/>\n            Fall 6:\/\/ Millisekundenteil<br \/>\n                SSS = fillString(str, temp, \u201eR\u201c, \u201e0\u201c, 3);<br \/>\n                result.append(\u201c.\u201d+SSS);<br \/>\n                brechen;<br \/>\n        }<br \/>\n    }<br \/>\n    return result.toString();<br \/>\n}<br \/>\nprivater statischer String fillString(String strDate, String str,<br \/>\n                             String-Position, String addStr,<br \/>\n                             int len){<br \/>\n    if (str.length() &gt; len) {<br \/>\n        wirf eine neue IllegalArgumentException(<br \/>\n            \u201eArgument string[\u201c+ strDate +<br \/>\n            \u201e] kann nicht in eine Datumszeichenfolge konvertiert werden\u201c);<br \/>\n    }<br \/>\n    return fillString(str, position, len,addStr);<br \/>\n}<\/p>\n<p>\/**<br \/>\n * F\u00fcgen Sie die Zeichenfolge [addStr] hinzu, die der Zeichenfolge [str] hinzugef\u00fcgt werden soll.<br \/>\n * An [Position] einf\u00fcgen, bis [L\u00e4nge] gef\u00fcllt ist.<br \/>\n *<br \/>\n * *Auch wenn [str] null oder ein leeres Literal ist, verwenden Sie [addStr]<br \/>\n * Gibt das eingef\u00fcgte Ergebnis zur\u00fcck, bis [len] gef\u00fcllt ist.<br \/>\n * @param str Zielzeichenfolge<br \/>\n * @param position Einf\u00fcgen vor \u21d2 L oder l Einf\u00fcgen nach \u21d2 R oder r<br \/>\n * @param len Anzahl der aufzuf\u00fcllenden Ziffern<br \/>\n * @param addStr String zum Einf\u00fcgen<br \/>\n * @return Der String nach der Konvertierung.<br \/>\n *\/<br \/>\nprivater statischer String fillString(String str, String-Position,<br \/>\n        int len,<br \/>\n        String addStr) {<br \/>\n    if (addStr == null || addStr.length() == 0) {<br \/>\n        wirft eine neue IllegalArgumentException<br \/>\n            (\u201eDer Wert der einzuf\u00fcgenden Zeichenfolge ist ung\u00fcltig. addStr=\u201c+addStr);<br \/>\n    }<br \/>\n    if (str == null) {<br \/>\n        str = \u201e\u201c;<br \/>\n    }<br \/>\n    StringBuffer buffer = new StringBuffer(str);<br \/>\n    while (len &gt; buffer.length()) {<br \/>\n        if (position.equalsIgnoreCase(\u201cl\u201d)) {<br \/>\n            int sum = buffer.length() + addStr.length();<br \/>\n            if (sum &gt; len) {<br \/>\n                addStr = addStr.substring<br \/>\n                    (0,addStr.length() \u2013 (sum \u2013 len));<br \/>\n                buffer.insert(0, addStr);<br \/>\n            }anders{<br \/>\n                buffer.insert(0, addStr);<br \/>\n            }<br \/>\n        } anders {<br \/>\n            buffer.append(addStr);<br \/>\n        }<br \/>\n    }<br \/>\n    if (buffer.length() == len) {<br \/>\n        return buffer.toString();<br \/>\n    }<br \/>\n    return buffer.toString().substring(0, len);<br \/>\n}<br \/>\n<\/textarea><br \/>\n<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\">Ausf\u00fchrungsergebnis<\/a><\/h2>\n<p>\u25c6Ausf\u00fchrungsbeispiel<br \/>\n<textarea readonly=\"readonly\" style=\"font-size: 13px;height: 400px;\" class=\"src\" onclick=\"this.focus();this.select()\">public static void main(String[] args) {<br \/>\n    System.out.println(&#8220;\\n&#8212;&#8211; \u65e5\u4ed8\u306e\u307f &#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8220;);<br \/>\n    \/\/ yyyy\/MM\/dd\u306e\u30d1\u30bf\u30fc\u30f3<br \/>\n    Calendar cal = toCalendar(&#8220;2007\/01\/01&#8221;);<br \/>\n    Date date = cal.getTime();<br \/>\n    System.out.println(&#8220;[2007\/01\/01] = &#8216;&#8221;+date+&#8221;&#8216;&#8221;);<\/p>\n<p>    \/\/ JJJJ-MM-TT-Muster<br \/>\n    cal = toCalendar(\u201c2007-01-01\u201d);<br \/>\n    date = cal.getTime();<br \/>\n    System.out.println(\u201c[2007-01-01] = &#039;\u201c+Datum+\u201c\u2019\u201c);<\/p>\n<p>    \/\/yyyyMMdd Muster<br \/>\n    cal = toCalendar(\u201c20070101\u201d);<br \/>\n    date = cal.getTime();<br \/>\n    System.out.println(\u201c[20070101] = &#039;\u201c+Datum+\u201c\u2019\u201c);<\/p>\n<p>    \/\/ JJ-MM-TT-Muster<br \/>\n    cal = toCalendar(\u201c07-01-01\u201d);<br \/>\n    date = cal.getTime();<br \/>\n    System.out.println(\u201c[07-01-01] = &#039;\u201c+Datum+\u201c\u2019\u201c);<\/p>\n<p>    System.out.println(\u201c\\n\u2014\u2013 Datum+Uhrzeit \u2014\u2014\u2014\u2014\u2014\u2014\u2014\u2014\u2013\u201c);<br \/>\n    \/\/ Muster von jjjj\/MM\/tt HH:mm:ss<br \/>\n    cal = toCalendar(\u201c01.01.2007 12:00:00\u201d);<br \/>\n    date = cal.getTime();<br \/>\n    System.out.println(\u201c[01.01.2007 12:00:00] = &#039;\u201c+Datum+\u201c\u2019\u201c);<\/p>\n<p>    \/\/ Muster von yyyyMMdd HH:mm:ss<br \/>\n    cal = toCalendar(\u201c20070101 12:00:00\u201d);<br \/>\n    date = cal.getTime();<br \/>\n    System.out.println(\u201c[20070101 12:00:00] = &#039;\u201c+Datum+\u201c\u2019\u201c);<\/p>\n<p>    \/\/ Muster von jjjj\/MM\/tt HH:mm<br \/>\n    cal = toCalendar(\u201c01.01.2007 12:00\u201d);<br \/>\n    date = cal.getTime();<br \/>\n    System.out.println(\u201c[01.01.2007 12:00] = &#039;\u201c+Datum+\u201c\u2019\u201c);<\/p>\n<p>    System.out.println(\u201c\\n\u2014\u2013 Nur Zeit \u2014\u2014\u2014\u2014\u2014\u2014\u2014\u2014\u2014\u201c);<br \/>\n    \/\/ Muster von HH:mm:ss. *Wenn nur die Uhrzeit verwendet wird, f\u00fcgen Sie das Datum voran.<br \/>\n    cal = toCalendar(<br \/>\n            neues SimpleDateFormat(\u201cyyyy\/MM\/dd\u201d).format(new Date()) +<br \/>\n            &#8221; 12:00:00&#8243;);<br \/>\n    date = cal.getTime();<br \/>\n    System.out.println(\u201c[12:00:00] = &#039;\u201c+Datum+\u201c\u2019\u201c);<br \/>\n}<br \/>\n<\/textarea><\/p>\n<p>\u25c6Ausgabeergebnis<\/p>\n<pre class=\"console\">----- Nur Datum ------------ [01.01.2007] = &#039;Mo. 01. Jan. 00:00: 00 JST 2007&#039; [2007-01-01] = &#039;Mo 1. Januar 00:00:00 JST 2007&#039; ----- Datum+Uhrzeit -------------------------- [01.01.2007 12:00:00] = &#039;Mo 1. Januar 12:00:00 JST 2007&#039; [20070101 12:00:00] = &#039;Mo 1. Januar 12:00:00 JST 2007&#039; [01.01.2007 12:00] = &#039;Mon. Jan. 01 12:00:00 JST 2007&#039; ----- Nur Zeit --------------------------- [12: 00:00] = \u201eMittwoch, 6. Juni, 12:00:00 JST 2007\u201c\r\n<\/pre>\n<p>\nDieses Beispielprogramm ist f\u00fcr Chat&amp;Messenger.<a href=\"https:\/\/chat-messenger.com\/de\/handbuch\/schedule_calendar\/kalender\/\" title=\"Kalender-\/Zeitplanverwaltungsfunktion\">Kalender-\/Zeitplanverwaltungsfunktion<\/a>\u201ewird tats\u00e4chlich verwendet.<\/p>","protected":false},"excerpt":{"rendered":"<p>Konvertieren Sie eine beliebige Datums-\/Uhrzeitzeichenfolge in java.util.Date, java.util.Calendar Java [\u2026]<\/p>","protected":false},"author":1,"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\/de\/wp-json\/wp\/v2\/posts\/972"}],"collection":[{"href":"https:\/\/chat-messenger.com\/de\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/chat-messenger.com\/de\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/chat-messenger.com\/de\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/chat-messenger.com\/de\/wp-json\/wp\/v2\/comments?post=972"}],"version-history":[{"count":10,"href":"https:\/\/chat-messenger.com\/de\/wp-json\/wp\/v2\/posts\/972\/revisions"}],"predecessor-version":[{"id":3634,"href":"https:\/\/chat-messenger.com\/de\/wp-json\/wp\/v2\/posts\/972\/revisions\/3634"}],"wp:attachment":[{"href":"https:\/\/chat-messenger.com\/de\/wp-json\/wp\/v2\/media?parent=972"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/chat-messenger.com\/de\/wp-json\/wp\/v2\/categories?post=972"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/chat-messenger.com\/de\/wp-json\/wp\/v2\/tags?post=972"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}