草庐IT

datetime-format

全部标签

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

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

java - 使用连接运算符 (+) 或 String.format() 方法的字符串连接

哪个更适合用于字符串连接如果我想从一堆字符串变量(例如str1和str2)构建一个字符串,哪一个会更好???字符串拼接运算符Stringstr="ThisString1"+str1+"与Sting2"+str2合并;字符串格式化方法Stringstr=String.format("ThisString1%smergedwithSting2%s",str1,str2);我认为第二个会更好,因为第一个会因创建大量字符串而受到影响。如果我错了请纠正我?并就此提供反馈 最佳答案 第一个实际上不会创建任何额外的字符串。它将被编译成类似这样的东

java - DateTimeFormatter 接受多个日期并转换为一个(java.time 库)

我正在尝试编写一个DateTimeFormatter,它允许我接受多种不同的String格式,然后将String格式转换为特定类型。由于项目的范围和已经存在的代码,我不能使用不同类型的格式化程序。例如,我想接受MM/dd/yyyy以及yyyy-MM-dd'T'HH:mm:ss但是当我打印时我只想打印成MM/dd/yyyy格式,并在我调用LocalDate.format(formatter);时使用该格式有人可以建议有关如何使用java.time.format.*;执行此操作的想法这是我在org.joda中的实现方式://MM/dd/yyyyformatDateTimeFormatter

java - Joda Time : new DateTime(String) vs DateTime. 解析(字符串)

使用joda-time-2.0版本库,我想知道,从ISO日期(假设XMLxs:dateTime格式)构造哪个函数更好:newDateTime(String)与DateTime.parse(String).因为两者都从相同的值返回不同的结果。示例:newDateTime("2012-08-16T07:22:05Z")DateTime.parse("2012-08-16T07:22:05Z")由于ISOChronology而导致不同。第一个是ISOChronology[Europe/Paris],第二个是ISOChronology[UTC],虽然毫秒是一样的。此外,here建议使用ISOD

java - 如何使 JsonGenerator 漂亮地打印 Date 和 DateTime 值?

我正在使用此方法将任何对象转换为json字符串:privateStringobjectToJson(Objectobject)throwsIOException{//writeJSONStringWriterwriter=newStringWriter();ObjectMappermapper=newObjectMapper();finalJsonGeneratorjsonGenerator=mapper.getJsonFactory().createJsonGenerator(writer);jsonGenerator.setPrettyPrinter(newDefaultPrett

在两个不同的时区中获取DateTime

我有存储在文档数据库中的日期时间为"myDate":"2017-06-27T15:44:35.6752016+09:30",我在C#中存储DateTime的属性在下面publicDateTimeMYDate{get;set;}在我的屏幕上,用户可以单击一个按钮,该按钮可以将信息保存在文本文件中。现在,我想存储在该文本文件中的信息是MyDate值作为字符串,而MyDate的另一个版本也是字符串。这是MyDate的另一个版本可能是不同的时区。例如,我在澳大利亚创建了MyDate,墨尔本现在可以说我搬到了美国,当我在客户端上单击该按钮时,我正在传递dateTimeOffset信息,并希望在Ameri

java - 性能问题 : "java.text.MessageFormat.format" vs "StringBuilder"

我想知道比较MessageFormat或StringBuilder类。举个例子,我有一个字符串。对于性能明智的哪一个是快速的:java.text.MessageFormat.format或StringBuilder("Test").append("Hello")?Stringtxt=java.text.MessageFormat.format("Test{0}","Hello")Stringtxt1=newStringBuilder("Test").append("Hello")我只想知道在最佳实践或性能方面使用哪个 最佳答案 自己

java - 以毫秒为单位的自定义日期和时间字符串

我有时间以毫秒为单位。1308700800000;我需要将其转换为类似Jun9'11at02:15PM的格式。我试过用SimpleDateFormatformat=newSimpleDateFormat("MMMD'\''YY");但我得到一个异常(exception):Causedby:java.lang.IllegalArgumentException:Unterminatedquote如有任何帮助,我们将不胜感激。 最佳答案 从异常消息中可以清楚地看出问题出在您的格式字符串上,尤其是单引号部分。查看documentation,

java - joda-time DateTime.with*() 的性能问题

有没有快速创建DateTime实例并将分\秒\毫秒设置为0的方法?目前我正在使用以下代码:privateDateTimecreateDateTime(java.util.Datedate,org.joda.time.Chronologychronology){DateTimedateTime=newDateTime(date,chronology);dateTime=dateTime.withMinuteOfHour(0);dateTime=dateTime.withSecondOfMinute(0);dateTime=dateTime.withMillisOfSecond(0);re

java - 如何在 java 中解析具有两个或三个毫秒数字的日期时间?

这是我将String解析为LocalDateTime的方法。publicstaticStringformatDate(finalStringdate){DateTimeFormatterformatter=DateTimeFormatter.ofPattern("yyyy-MM-ddHH:mm:ss.SS");LocalDateTimeformatDateTime=LocalDateTime.parse(date,formatter);returnformatDateTime.atZone(ZoneId.of("UTC")).toOffsetDateTime().toString();