当前位置: 首页 > 知识库问答 >
问题:

如何在Freemarker模板或javascript中转换特定格式的日期

严斌
2023-03-14

从json中,我得到的值为

"createdOn": "Jan 08 2015 20:40:56 GMT+0530 (IST)",

我在用超光速访问

<#list variables as variable>
  <div class="reply">
   ${variable.createdOn}
  </div>
</#list>
Jan 09 2015 12:36:18 GMT+0530 (IST)
${variable.createdOn?datetime?string("dd-MM-yyyy")}
Exception: java.text.ParseException - Unparseable date: "Jan 09 2015 12:36:18 GMT+0530 (IST)"

任何帮助都很感激。

谢谢

共有1个答案

寿阳华
2023-03-14

首先,那到底是什么格式?我的意思是,如果你能影响某人使用标准格式(主要是ISO格式),这将对每个人都有帮助。无论如何,FreeMarker不是一个日期解析器库,但实际上您可以这样做:

<#-- Settings you need -->
<#setting date_format="dd-MM-yyyy">
<#setting locale="en_US">

<#-- The string that comes from somewhere: -->
<#assign createdOn = 'Jan 08 2015 20:40:56 GMT+0530 (IST)'>

<#--
  1. Tell FreeMarker to convert string to real date-time value
  2. Convert date-time value to date-only value
  3. Let FreeMarker format it according the date_format setting
-->
${createdOn?datetime("MMM dd yyyy HH:mm:ss 'GMT'Z")?date}
 类似资料:
  • 我有日期输入为“20170101”(YYYYMMDD),我只需编写freemarker模板将上述日期转换或格式化为“2017-01-01 00:00:00”(YYYY-MM-DD HH:MM:SS)作为日期-时间以上格式。 但它返回错误为“字符串与预期的日期/时间/日期-时间格式不匹配。要分析的字符串是:”20170101“。预期的格式是:”MMM dd yyyy HH:MM:SS“。给出的嵌套原

  • 问题内容: “ 2016年3月10日下午6:30:00”这是我的约会日期,我想将其转换为“ 2016年3月10日”。我可以在android中使用SimpleDateFormat吗?我没有确切的模式来转换它。请帮助并提前感谢 这个步骤行得通吗?如果是,有人可以给我这样的格式吗?提前致谢。 问题答案: 这是您应该使用的修改后的代码: 使用几个小时才能获得正确的时间。 Java 8及更高版本 Java

  • 我有这样的字符串…我想将它们转换为s,这就是我所做的; 上面的代码在解开包装时崩溃。我猜这是因为格式...你知道我做错了什么吗?

  • 问题内容: 我有这样的日期格式:“ 2011年6月27日”,我想将其转换为20110627 可以用bash做吗? 问题答案: 有关日期的更多信息 请注意,这仅适用于GNU日期 我读过: 可以通过替换sunfreeware.com版本的日期来解决无法支持的Solaris版本的日期

  • 问题内容: 我正在尝试将日期从转换为(但是在SQL中不是); 但是我不知道date函数如何需要时间戳,并且我无法从该字符串获取时间戳。 这怎么可能? 问题答案: 使用和: (请参阅PHP网站上的strtotime和date文档。) 请注意,这是对原始问题的快速解决方案。为了进行更广泛的转换,您实际上应该使用该类来解析和格式化:-)