Я получаю дату «2016-03-03T05: 11: 56». Я хочу показать это как формат даты RFC 2822 (Thu, 03 Mar 2016 05:11:56 GMT). Как добиться этого в XSLT 1.0 Любая помощь appreciated.Thank вы всепреобразовать формат даты ISO в формат RFC 2822 в XSLT
0
A
ответ
0
Предполагая, что ваши DateTimes не содержат временные смещения или доли секунд, вы могли бы использовать что-то вроде:
<xsl:template name="dateTime-to-RFC-2822">
<xsl:param name="dateTime"/>
<!-- extract components -->
<xsl:variable name="year" select="substring($dateTime, 1, 4)" />
<xsl:variable name="month" select="substring($dateTime, 6, 2)" />
<xsl:variable name="day" select="substring($dateTime, 9, 2)" />
<!-- calculate day-of-week using Zeller's_congruence -->
<xsl:variable name="a" select="$month < 3"/>
<xsl:variable name="m" select="$month + 12*$a"/>
<xsl:variable name="y" select="$year - $a"/>
<xsl:variable name="K" select="$y mod 100"/>
<xsl:variable name="J" select="floor($y div 100)"/>
<xsl:variable name="h" select="($day + floor(13*($m + 1) div 5) + $K + floor($K div 4) + floor($J div 4) + 5*$J + 6) mod 7"/>
<!-- construct output -->
<xsl:value-of select="substring('SunMonTueWedThuFriSat', 3 * $h + 1, 3)"/>
<xsl:text>, </xsl:text>
<xsl:value-of select="$day"/>
<xsl:text> </xsl:text>
<xsl:value-of select="substring('JanFebMarAprMayJunJulAugSepOctNovDec', 3 * ($month - 1) + 1, 3)"/>
<xsl:text> </xsl:text>
<xsl:value-of select="$year"/>
<xsl:text> </xsl:text>
<xsl:value-of select="substring-after($dateTime, 'T')" />
<xsl:text> GMT</xsl:text>
</xsl:template>
Примечание: I предположим, что суффикс GMT
устарел, и вместо этого вы должны использовать +0000
.
+0
Спасибо, майкл, его работы отлично – user3734430
+0
@ user3734430 Если на ваш вопрос ответили, пожалуйста, закройте его, приняв ответ. –
Смежные вопросы
- 1. NSDate to RFC 2822 Формат даты
- 2. Joda неудачу в разборе RFC 2822 Формат
- 3. XSLT формат даты преобразования в ISO
- 4. Преобразовать Дата в ISO Формат даты C#
- 5. Как преобразовать формат даты ISO 8601 в конкретный формат?
- 6. XSLT ISO 8601 Формат времени
- 7. Преобразовать формат даты и времени в XSLT
- 8. Формат даты в XSLT
- 9. Формат даты преобразования XSLT
- 10. Формат даты сравнить даты XSLT
- 11. Преобразовать общий формат даты в формате ISO даты неделю
- 12. формат даты в RFC 822 в заводной
- 13. Скрытое значение даты HTML в RFC 2822
- 14. Java, чтобы изменить формат даты iso в нужный формат
- 15. Как разобрать и преобразовать DateTime в формат даты RFC 822?
- 16. Преобразование строки в формат даты iso
- 17. Преобразовать ISO DateTime строки в стандартный формат даты в Freemarker
- 18. Как преобразовать формат строки в формат даты?
- 19. как преобразовать формат даты в «os.utime()» формат
- 20. Как преобразовать формат «1324649468000» в формат даты?
- 21. Как преобразовать формат даты в формат ymd?
- 22. Формат даты Saxon XSLT 2.0 и RFC 822
- 23. Какой формат даты ISO это?
- 24. питон ISO 8601 формат даты
- 25. Как конвертировать RFC 2822 с даты создания в EST Дата
- 26. Преобразовать временную метку iso в формат даты с помощью Javascript?
- 27. Как преобразовать строку времени и даты в формат ISO
- 28. Как преобразовать формат даты в другой формат даты в java?
- 29. Как преобразовать формат даты в другой формат даты в Swift?
- 30. Как преобразовать формат даты в формат даты в MySQL
Привет, я пробовал один подход, но в этом году високосный год, поэтому моя логика не работает должным образом. – user3734430
Имейте в виду, что это распространенная проблема, поэтому, возможно, есть некоторые библиотеки, которые вы можете использовать для этого. Еще раз, используйте Google, чтобы найти их. – SubliemeSiem