草庐IT

date-formatting

全部标签

还在用Calendar操作Date?Java8都被放弃了,你还不知道Java8中全新的日期时间API

引言在过去的Java版本中,日期和时间的处理主要依赖于java.util.Date和java.util.Calendar类,然而随着业务系统的复杂以及技术层面的提升,这些传统的日期时间类暴露出了若干显著的不足之处。随着Java8的发布,其引入了一套全新的日期时间API,彻底改变了我们处理日期和时间的方式。传统的日期时间类相比较Java8中新引入的java.time包下的时间处理类,传统的日期时间处理类在易用性,线程安全,不支持市时区等缺点。设计复杂性:Date类的设计较为简单,但它实际上混合了日期和时间信息,并且没有提供直观的方法来单独操作日期或时间部分。Calendar类虽然提供了更多灵活性

java - 什么是 "Choose a number or apply filter (format: [groupId:]artifactId, case sensitive contains)"

我是Maven新手,尝试使用命令行创建Maven项目。当我从命令行运行mvnarchetype:generate所有流程完成后的第一件事是:Chooseanumberorapplyfilter(format:[groupId:]artifactId,casesensitivecontains)我知道我们可以通过按Enter跳过这些。但我真的很想知道这些线到底是什么?我用谷歌搜索,但没有给出明确而简单的答案。我的问题是:为什么以及如何选择一个数字,它与过滤器的关系如何(因为过滤器和数字在OR中)。我们可以跳过这些然后为什么它是由Maven给出的..为什么要特别显示这个数字630。当我们回

java - 推荐的 REST API 日期格式

我正在编写一个公开RESTAPI的应用程序。一些查询参数将是日期/时间(精确到秒),一些响应将是时间戳(精确到毫秒)。服务器上的API实现是用Java实现的。客户端应用程序可以是任何东西——java、javascript、.NET。API返回XML或JSON数据。日期/时间数据存储在Oracle数据库中。有没有人根据先前的痛苦建议传递这些日期/时间值的最佳格式是什么?我想自己只使用老式的long来存储自格林威治标准时间1970年1月1日00:00:00以来的毫秒数。编辑API中涵盖的日期范围适用于实时事件,因此2010年之前不会有任何内容,而2038年之后(让我自己被滥用)就没有任何内

java - 从 XMLGregorianCalendar 到 Date/Calendar 增加了额外的时间/不需要的

我正在为公开(.wsdl)契约(Contract)的Web服务开发客户端,该契约(Contract)要求请求参数中的1为yyyy-MM-dd格式,但是基于.wsdl自动生成的POJOS将日期属性创建为输入XMLGregorianCalendar。我的问题不是与XMLGregorianCalendar之间的转换,请参阅下面的实用程序:publicstaticXMLGregorianCalendartoXMLGregorianCalendar(Calendarc){GregorianCalendargc=newGregorianCalendar();gc.setTimeInMillis(c

java - 在 H2 数据库中找不到函数 "TO_DATE"

我有一个SQL语句并尝试使用Java中的H2内存数据库执行。抛出以下异常。SQL:SELECTACCT_RULE_ID,ACCT_ACTION_IDFROMACCT_RULEWHERE(ACCT_ACTION_ID=?)AND(START_DATETIMEto_char(?,'mm/dd/yyyyHH:MI:SSAM'))用Id替换第一个参数,用新的Date()值替换第二个和第三个参数。Exception:Causedby:org.h2.jdbc.JdbcSQLException:Function"TO_DATE"notfound;SQLstatement:

java - cglib 在增强 java.util.Date 类时抛出 IllegalArgumentException

我正在尝试使用cglib增强java.util.Date。它不起作用,而且我没有使用cglib的经验,所以我想知道出了什么问题。例如,下面增强ArrayList的代码有效:@Testpublicvoidenhance_ArrayList(){Enhancerenhancer=newEnhancer();enhancer.setSuperclass(ArrayList.class);enhancer.setCallback(newFixedValue(){@OverridepublicObjectloadObject()throwsException{return"Hellocglib!

java - 无法从字符串值构造 java.util.Date 的实例 - 不是有效的表示

抱歉,这个问题似乎是多余的,但我确实有很多选择,尽管我努力阅读了很多主题,但我还是无法理解该怎么做。我有一个java应用程序,它的工作是:从SOAPWS(XML)获取数据,做一些逻辑(传入的交货日期将变成datebl)最后将其发送到RESTWS(JSON格式),这将更新Oracle表计划如下:SOAPWS----deliverydate---->JAVAAPP(logic)----datebl---->RESTWSJAVAAPP中使用的Jar有jackson-core-asl-1.9.13.jar和jackson-mapper-asl-1.9.13.jar等。我遇到的问题是在处理日期时

java - String.format() 中的 %d 也适用于无符号整数吗?

在printf()我记得对于unsigned有%u...但我在规范中找不到这样的%uString.format()所以如果我有一个大的unsignedint那么%d会在它上面正常工作吗? 最佳答案 如果你想把一个int当作无符号的,你可以这样做inti=...Strings=String.format("%d",i&0xFFFFFFFFL);这有效地将signedint转换为long,但它将从0..2^31-1反之亦然inti=(int)Long.parseLong(s);Strings2=String.format("%d",i&

java - 在 java 字符串中转义 % 符号以应用 String.format

在我的项目(Java/Play框架)中,我有一个错误处理路由,它检查来自Web服务的响应,如果响应是错误代码,我们会显示相应的错误消息,说明用户输入的问题,该服务检查用户输入的有效性。当用户输入一个%符号时,这个逻辑就中断了,因为错误显示逻辑使用了String.format(message,messageArgs);它插入messageArgs并在它找到%的地方引入消息字符串,如果messageArgs也包含%,我会得到一个异常。在显示消息之前,我需要清理、转义或以其他方式从用户输入中删除%。消息:请求的电子邮件地址%s无效messageArgs:orlybg%@gmail.com关于

java - 为什么 NumberFormat.format 抛出 NullPointerException?

我刚刚发现了一个非常奇怪的NullPointerException。首先,我创建了一个像这样的NumberFormat(注意默认的Locale是德国,我不知道这是否有帮助):NumberFormatangleFormat=NumberFormat.getNumberInstance(Locale.UK);angleFormat.setMaximumFractionDigits(5);angleFormat.setMinimumFractionDigits(0);然后,我尝试用它格式化一个double。这是通过Lambda创建的新线程完成的,而angleFormat是在包含Lambda的