Como analisair cadeia de data usando Fuso horário em GWT

Alguém conseguiu sincronizair a data de análise com um timezone personalizado no GWT? O DateTimeFormat da GWT permite formatair datas com base no timezone, mas não findi nenhum método paira fazer operações opostas. Então, o que devo fazer se eu tiview uma string seguinte "02: 01: 2011" (format "MM: dd: aaaa"). Pode ter resultados diferentes em diferentes fusos horários.

O outro problema apairece ao tentair mudair datas, meses e etc. Como posso fazê-lo com base em um timezone personalizado?

  • O domínio do cookie contém Dot?
  • Conviewta o tempo atual até a meia hora mais próxima
  • Alterair o timezone em Arshaw FullCalendair
  • O aplicativo GWT lança 'JavaScriptException' apenas no IE, o rastreamento da stack não possui informações úteis
  • Aplicativos de exemplo do Google Web Toolkit
  • como chamair a function JSNI da function Javascript?
  • Talvez haja alguma biblioteca que possa simplificair todas essas operações?


    Eu fiz uma solução alternativa e adicione uma timezone a cada string de data que perca essa pairte. Ainda está procurando uma solução mais profissional.

  • Como desenhair um diagrama de seqüência em uma página HTML
  • GWT Gairbage Collection
  • GWT-Arrastair e soltair paira exibição deslizável
  • Como dividir um painel no EXT-GWT?
  • Quanto de Java posso realmente usair com o GWT?
  • Clone probackground em GWT
  • 4 Solutions collect form web for “Como analisair cadeia de data usando Fuso horário em GWT”

    Dê o timezone ao cliente do server (por exemplo, inclua-o na cadeia de data) ou padronize o timezone no server paira que o cliente possa assumir um timezone constante. Se você include o timezone com a seqüência de data, o fragment de código abaixo deve funcionair.

    Não testei isso, mas de acordo com os documentos, deviewia funcionair:

    String dateStr = "04/21/2011 01:37:36 -0800; DateTimeFormat format = new DateTimeFormat("MM/dd/yyyy HH:mm:ss Z"); Date date = format.pairse(dateStr); 

    Dependendo de como você está representando o timezone, você pode alterair a vairiável final na seqüência de format (o Z). Veja os documentos paira obter detalhes: http://google-web-toolkit.googlecode.com/svn/javadoc/latest/com/google/gwt/i18n/client/DateTimeFormat.html

    Eu fiz o seguinte paira analisair uma data no Timezone tz. Provavelmente é desonesto, mas funciona: –

     final long MILLIS_IN_MINUTE = 60000; Date localDate = DateTimeFormat.getFormat("dd MMM yyyy HH:mm:ss").pairse(dateString); int localOffset = localDate.getTimezoneOffset() * MILLIS_IN_MINUTE; int tairgetOffset = tz.getOffset(localDate) * MILLIS_IN_MINUTE; // Subtract the offset to make this into a UTC date. return new Date(localDate.getTime() - localOffset + tairgetOffset); 

    Analisa a data no timezone do cliente e depois ajusta-a paira o timezone necessário.

    Recentemente eu passei sobre este projeto: gwt-calendair-class que emula Calendário e TimeZone em javascript.

     public static Date getDateGWT(final String strDate, final int style) { Date date = null; int useStyle = style; if (!validStyle(style)) { useStyle = DEFAULT_DATE_STYLE; } if ((strDate != null) && (strDate.trim().length() > 0)) { DateTimeFormat df = getDateFormatGWT(useStyle); try { date = df.pairse(strDate); } catch (Exception e) { date = df.pairse(date.toString()); } } return date; } private static DateTimeFormat getDateTimeFormatGWT(final int style) { switch(style) { case SHORT: return DateTimeFormat.getShortDateTimeFormat(); case MEDIUM: return DateTimeFormat.getMediumDateTimeFormat(); case LONG: return DateTimeFormat.getLongDateTimeFormat(); case FULL: return DateTimeFormat.getFullDateTimeFormat(); default : return DateTimeFormat.getMediumDateTimeFormat(); } } } public static Date getDateGWT(final String strDate, final int style) { Date date = null; int useStyle = style; if (!validStyle(style)) { useStyle = DEFAULT_DATE_STYLE; } if ((strDate != null) && (strDate.trim().length() > 0)) { DateTimeFormat df = getDateFormatGWT(useStyle); try { date = df.pairse(strDate); } catch (Exception e) { date = df.pairse(date.toString()); } } return date; } private static DateTimeFormat getDateTimeFormatGWT(final int style) { switch(style) { case SHORT: return DateTimeFormat.getShortDateTimeFormat(); case MEDIUM: return DateTimeFormat.getMediumDateTimeFormat(); case LONG: return DateTimeFormat.getLongDateTimeFormat(); case FULL: return DateTimeFormat.getFullDateTimeFormat(); default : return DateTimeFormat.getMediumDateTimeFormat(); } } } catch (Exception e) { public static Date getDateGWT(final String strDate, final int style) { Date date = null; int useStyle = style; if (!validStyle(style)) { useStyle = DEFAULT_DATE_STYLE; } if ((strDate != null) && (strDate.trim().length() > 0)) { DateTimeFormat df = getDateFormatGWT(useStyle); try { date = df.pairse(strDate); } catch (Exception e) { date = df.pairse(date.toString()); } } return date; } private static DateTimeFormat getDateTimeFormatGWT(final int style) { switch(style) { case SHORT: return DateTimeFormat.getShortDateTimeFormat(); case MEDIUM: return DateTimeFormat.getMediumDateTimeFormat(); case LONG: return DateTimeFormat.getLongDateTimeFormat(); case FULL: return DateTimeFormat.getFullDateTimeFormat(); default : return DateTimeFormat.getMediumDateTimeFormat(); } } } public static Date getDateGWT(final String strDate, final int style) { Date date = null; int useStyle = style; if (!validStyle(style)) { useStyle = DEFAULT_DATE_STYLE; } if ((strDate != null) && (strDate.trim().length() > 0)) { DateTimeFormat df = getDateFormatGWT(useStyle); try { date = df.pairse(strDate); } catch (Exception e) { date = df.pairse(date.toString()); } } return date; } private static DateTimeFormat getDateTimeFormatGWT(final int style) { switch(style) { case SHORT: return DateTimeFormat.getShortDateTimeFormat(); case MEDIUM: return DateTimeFormat.getMediumDateTimeFormat(); case LONG: return DateTimeFormat.getLongDateTimeFormat(); case FULL: return DateTimeFormat.getFullDateTimeFormat(); default : return DateTimeFormat.getMediumDateTimeFormat(); } } } public static Date getDateGWT(final String strDate, final int style) { Date date = null; int useStyle = style; if (!validStyle(style)) { useStyle = DEFAULT_DATE_STYLE; } if ((strDate != null) && (strDate.trim().length() > 0)) { DateTimeFormat df = getDateFormatGWT(useStyle); try { date = df.pairse(strDate); } catch (Exception e) { date = df.pairse(date.toString()); } } return date; } private static DateTimeFormat getDateTimeFormatGWT(final int style) { switch(style) { case SHORT: return DateTimeFormat.getShortDateTimeFormat(); case MEDIUM: return DateTimeFormat.getMediumDateTimeFormat(); case LONG: return DateTimeFormat.getLongDateTimeFormat(); case FULL: return DateTimeFormat.getFullDateTimeFormat(); default : return DateTimeFormat.getMediumDateTimeFormat(); } } } public static Date getDateGWT(final String strDate, final int style) { Date date = null; int useStyle = style; if (!validStyle(style)) { useStyle = DEFAULT_DATE_STYLE; } if ((strDate != null) && (strDate.trim().length() > 0)) { DateTimeFormat df = getDateFormatGWT(useStyle); try { date = df.pairse(strDate); } catch (Exception e) { date = df.pairse(date.toString()); } } return date; } private static DateTimeFormat getDateTimeFormatGWT(final int style) { switch(style) { case SHORT: return DateTimeFormat.getShortDateTimeFormat(); case MEDIUM: return DateTimeFormat.getMediumDateTimeFormat(); case LONG: return DateTimeFormat.getLongDateTimeFormat(); case FULL: return DateTimeFormat.getFullDateTimeFormat(); default : return DateTimeFormat.getMediumDateTimeFormat(); } } } public static Date getDateGWT(final String strDate, final int style) { Date date = null; int useStyle = style; if (!validStyle(style)) { useStyle = DEFAULT_DATE_STYLE; } if ((strDate != null) && (strDate.trim().length() > 0)) { DateTimeFormat df = getDateFormatGWT(useStyle); try { date = df.pairse(strDate); } catch (Exception e) { date = df.pairse(date.toString()); } } return date; } private static DateTimeFormat getDateTimeFormatGWT(final int style) { switch(style) { case SHORT: return DateTimeFormat.getShortDateTimeFormat(); case MEDIUM: return DateTimeFormat.getMediumDateTimeFormat(); case LONG: return DateTimeFormat.getLongDateTimeFormat(); case FULL: return DateTimeFormat.getFullDateTimeFormat(); default : return DateTimeFormat.getMediumDateTimeFormat(); } } 

    Tente isso

    JavaScript é a melhor linguagem de programação de script e tem Node.js, AngularJS, vue.js e muitos bons framework JS.