如何使用<s:date>
例如我想转换
使用<s:date>
代码
在我的数据库中,我添加了与GMT相关的日期和用户时区值。 我的数据库服务器正在显示时区CTS(我无法继续使用它)。 在这里,我想将日期从CTS时区转换为GMT + 05:30(或IST)的用户时区或存储在数据库中的用户时区
答案 0 :(得分:1)
对于印度标准时间,这就是:
<s:date name = "yourDate"
format = "dd/MM/yyyy HH:mm:ss a"
timezone = "GMT+05:30" />
在this related question的评论中,您可以了解在处理此问题时可能遇到的常见错误。
日期没有TimeZone。日期只是自特定时间点以来的一个毫秒数(EPOCH:01-01-1970,00:00:00 UTC)。
将日期保存到数据库中时,您只需保存该长号。如果您的数据库具有特定的TimeZone,则意味着当您对其运行查询时,它将使用该TimeZone格式化人类表示的日期。您的数据库,AS中以及框架中都有TimeZone设置。但是通过整个链,Date仍然是相同的Date对象,只是表示不同。
许多数据库允许您save the TimeZone informations along with the date。但既然你说:
在我的数据库中,我添加了与GMT相关的日期和用户时区值。
然后你绝对可以忽略这个事实
我的数据库服务器正在显示时区CTS
只需使用该日期,然后使用所提供的代码将其格式化为所需的TimeZone。
如果这只是让您感到困惑(采用GMT日期,在数据库可视化工具中显示为CTS,并在浏览器中显示为IST),则使用三个不同的时区在操作中将日期三次日志打印,以便整个链之间的匹配,这将帮助您调试应用转换的位置和方式。