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

在java的非英语操作系统中,日期即将到来

景书
2023-03-14

在我的项目新日期();以其他语言提供日期。并且给出了错误,请问有没有人能提供将飞镖转换成英文的解决方案?

我的代码如下:

    model.put("total", timeSheetTempDAO.getCurrentDayHours(SessionManagement.getCurrentUserId(),new SimpleDateFormat("YYYY-MMM-dd").format(new Date())));

org.postgresql.util.psqlexception:错误:类型日期的输入语法无效:“--”位置:136 org.postgresql.core.v3.QueryExecutorImpl.receiveerrorresponse(QueryExecutorImpl.java:2103)org.postgresql.core.v3.QueryExecutorImpl.processResults(QueryExecutorImpl.java:1836)org.postgresql.core.v3.QueryExecutorImpl.processResultsQueryAndInitializeNonLazyCollections(loader.java:342)org.hibernate.loader.loader.dolist(loader.java:2526)org.hibernate.loader.loader.dolist(loader.java:2512)org.hibernate.loader.loader.dolist(loader.java:2512)org.hibernate.loader.loader.list(loader.java:2337)org.hibernate.loader.list(loader.java:2342)

共有1个答案

公冶嘉茂
2023-03-14
  • SimpleDateFormat
  • 指定 区域设置
  • 修复您的格式模式,YYYY-MM-DD
  • 最好使用java.time类,而不是这些麻烦的遗留类

字符串中的当前日期:

LocalDate.now( 
    ZoneId.of( "America/Montreal" ) 
).toString()

撕开你的代码来调试这类问题。您显示了一长段复杂的代码行。一旦分离,您就会发现问题与Postgres或JDBC/Hibernate无关。

你忽略了时区的问题。

时区在确定日期时至关重要。对于任何给定的时刻,日期在全球范围内因区域而异。例如,在法国巴黎,午夜过后的几分钟是新的一天,而在蒙特利尔魁北克省,仍然是“昨天”。

SimpleDateFormat类隐式应用JVM的当前默认时区。因此您的结果可能会有所不同。最好总是显式指定所需/预期的时区。

您使用的是麻烦的旧日期-时间类。我建议您了解java.time类并考虑它们的使用,尽管我不知道Hibernate中对java.time的支持。

localdate类表示一个只包含日期的值,不包含时间,也不包含时区。

LocalDate.now( ZoneId.of( "America/Montreal" ) ) ;

Java.time框架内置在Java8和更高版本中。这些类取代了麻烦的旧的遗留日期-时间类,如java.util.dateCalendar、&SimpleDateFormat

现在处于维护模式的Joda-Time项目建议迁移到java.time类。

要了解更多信息,请参阅Oracle教程。并搜索堆栈溢出以获得许多示例和解释。规范是JSR310。

从哪里获取java.time类?

    null
  • 大部分Java.time功能在threeten-backport中后端移植到Java6&7。
  • ThreeTenABP项目将ThreeTen-Backport(上面提到的)特别适用于Android。
  • 查看如何使用ThreeTenabp…。

ThreeTen-Extra项目使用额外的类扩展了java.time。这个项目是将来可能添加java.time的一个试验场。您可以在这里找到一些有用的类,如intervalyearweekyearquard等等。

 类似资料:
  • 操作系统提供的服务 操作系统的五大功能,分别为:作业管理、文件管理、存储管理、输入输出设备管理、进程及处理机管理 中断 所谓的中断就是在计算机执行程序的过程中,由于出现了某些特殊事情,使得CPU暂停对程序的执行,转而去执行处理这一事件的程序。等这些特殊事情处理完之后再回去执行之前的程序。中断一般分为三类: 内部异常中断:由计算机硬件异常或故障引起的中断; 软中断:由程序中执行了引起中断的指令而造成

  • 问题内容: 我创建了一个名为“ myTable”的表,该表具有名为“ CURRENT_DATE”的列,其数据类型为“ DATE”。以编程方式更新表时,我还想在CURRENT_DATE字段中放置时间戳或系统日期。下面显示了我正在执行的操作的一部分,但它不起作用。我认为这很容易,但是…您能帮上忙吗? 问题答案: 您确实应该将其作为使用参数的预备语句来执行,这样可以使事情变得容易得多,并消除了一些非常简

  • sed sed是非交互式的编辑器。它不会修改文件,除非使用shell重定向来保存结果。默认情况下,所有的输出行都被打印到屏幕上。sed编辑器逐行处理文件(或输入),并将结果发送到屏幕。 sed命令行格式为: sed [-nefri] ‘command’ 输入文本 常用选项: -n∶使用安静(silent)模式。在一般 sed 的用法中,所有来自 STDIN的

  • 进程与线程 对于有线程系统: 进程是资源分配的独立单位 线程是资源调度的独立单位 对于无线程系统: 进程是资源调度、分配的独立单位 进程之间的通信方式以及优缺点 管道(PIPE) 有名管道:一种半双工的通信方式,它允许无亲缘关系进程间的通信 优点:可以实现任意关系的进程间的通信 缺点: 长期存于系统中,使用不当容易出错 缓冲区有限 无名管道:一种半双工的通信方式,只能在具有亲缘关系的进程间使用(父

  • 1 select,poll和epoll 其实所有的I/O都是轮询的方法,只不过实现的层面不同罢了. 这个问题可能有点深入了,但相信能回答出这个问题是对I/O多路复用有很好的了解了.其中tornado使用的就是epoll的. selec,poll和epoll区别总结 基本上select有3个缺点: 连接数受限 查找配对速度慢 数据由内核拷贝到用户态 poll改善了第一个缺点 epoll改了三个缺点.

  • 你可以在任何主流操作系统下去做开发工作,Windows,macOS,Linux 都可以。如果选择 Windows ,版本最好选择 Windows 10 专业版。用 macOS 的用户不用太担心系统问题,可以无痛并免费升级,现在你应该用的是 Sierra 这个版本的 macOS 。Linux 也可以,比如 Ubuntu 的桌面版。 如果你能满足下面三个条件的其中一个,这个任务就算完成了: Windo