使用 JPA 属性日历的日期格式问题

发布于 2024-11-06 05:46:31 字数 241 浏览 2 评论 0原文

我在 JPA 中使用日历属性时遇到问题:

@Column(name = "Date")
@Temporal(TemporalType.DATE)
private Calendar date;

默认情况下,它设置为 mm/dd/yyyy,我需要在 dd/mm/yyyy 中使用它, 谁能帮助我吗?

我发现使用日期而不是日历很容易,但我不能使用它......

谢谢 丹尼尔

I've a problem using an attribute Calendar with JPA:

@Column(name = "Date")
@Temporal(TemporalType.DATE)
private Calendar date;

By default it is setted as mm/dd/yyyy and I need it in dd/mm/yyyy,
can anyone help me?

I've seen that is quiete easy with Date instead of Calendar but i can't use it...

Thx
Daniele

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(4

累赘 2024-11-13 05:46:31

我认为,格式并不重要。 CalendarDate 都没有任何格式。它的 toString() 方法将其格式化为默认格式。

您愿意详细说明一下

  • 预期的行为是什么吗?
  • 你得到了什么?

[根据下面的评论进行编辑]

无论如何,它来自浏览器,它以字符串的形式出现。因此,您在将该 String 转换为 DateCalendar 时遇到问题。解决这个问题之后一切都会好起来的。

快乐编码。干杯。

I think, format doesn't really matter. Neither Calendar nor Date have any format with them. Its the toString() method that formats it in the default format.

Would you care to elaborate,

  • what is the expected behaviour?
  • what you are getting?

[Edited based on the comment below]

Whatever, comes from the browser it comes as a String. So, you are having an issue while converting that String to the Date or Calendar. Fix that and all will be good after that.

Happy coding. Cheers.

天荒地未老 2024-11-13 05:46:31

我相信这不是 JPA 问题,而是 SQL 配置问题。
根据您的描述,您的 SQL 服务器已配置为默认格式。您应该将其更改为您需要的格式。

查看 SQL 日期格式 - http://www.sql-server -helper.com/tips/date-formats.aspx

I believe this is not a JPA issue but SQL configuration.
From what you're describing, your SQL server is configured to default format. You should change it to the format you need.

Take a look on SQL date formats - http://www.sql-server-helper.com/tips/date-formats.aspx

节枝 2024-11-13 05:46:31

如果是这种情况,为什么不尝试 SimpleDateFormatter,您可以在其中解析日期并使用 dateFormatter 您可以获得所需的日期格式。如需更多说明,请尝试链接。

If this is the case, why not you can try SimpleDateFormatter, where you can parse the date and using dateFormatter you can get the desired date format.For more clarification please try the link.

糖粟与秋泊 2024-11-13 05:46:31

尝试以下操作并让我们知道:

        String formattedDate = "";
        String requiredFormat = "MM/dd/yyyy";
        DateFormat formatter = new SimpleDateFormat("dd/MM/yyyy"); 
        Date dt = formatter.parse("13/09/2011");
        DateFormat reqFormatter = new SimpleDateFormat(requiredFormat, Locale.ENGLISH);  
        formattedDate = reqFormatter.format(dt);
        System.out.println("Output Date: " + formattedDate);

//formatted Date 将为您提供数据库中期望的内容。

Try the following and let us know:

        String formattedDate = "";
        String requiredFormat = "MM/dd/yyyy";
        DateFormat formatter = new SimpleDateFormat("dd/MM/yyyy"); 
        Date dt = formatter.parse("13/09/2011");
        DateFormat reqFormatter = new SimpleDateFormat(requiredFormat, Locale.ENGLISH);  
        formattedDate = reqFormatter.format(dt);
        System.out.println("Output Date: " + formattedDate);

//formatted Date will give you what expects to be there in DB.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文