java.util.Date返回-->;2016-12-26 14:18:57.0要删除此。0
这是返回日期的代码,但在客户端我得到 2016-12-26 14:18:57.0在客户端。可能的解决办法是什么。。我在客户端使用node.js。但我认为这与这个问题无关。我要删除此0java.util.Date返回-->;2016-12-26 14:18:57.0要删除此。0,java,simpledateformat,java.util.date,Java,Simpledateformat,Java.util.date,这是返回日期的代码,但在客户端我得到 2016-12-26 14:18:57.0在客户端。可能的解决办法是什么。。我在客户端使用node.js。但我认为这与这个问题无关。我要删除此0 SimpleDateFormat sdf = new SimpleDateFormat(format); Date date = sdf.parse(value); if (!value.equals(sdf.format(date))) { date = null; }
SimpleDateFormat sdf = new SimpleDateFormat(format);
Date date = sdf.parse(value);
if (!value.equals(sdf.format(date))) {
date = null;
}
return date != null;
您没有为SimpleDataFormat构造函数提供格式模式字符串,因此它使用了一些。解决方案是提供适当的格式字符串 格式化可按如下方式进行:
SimpleDateFormat sdf = new SimpleDateFormat("dd.MM.yyyy HH:mm:ss.SSS")
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
String value = "2016-12-26 14:18:57";
Date date = sdf.parse(value);
if (!value.equals(sdf.format(date))) {
System.out.println("not equals");
}
System.out.println("date = " + date);
这将导致例如
29.02.2016 23:01:15.999
您希望在格式字符串中省略S格式符号(毫秒)。例如:
SimpleDateFormat sdf = new SimpleDateFormat("dd.MM.yyyy HH:mm:ss")
当然,您需要根据您的格式需要更改此示例。玩一点符号的顺序和数量,协商 尝试在SimpleDataFormat构造函数中设置正确的格式。大概是这样的:
SimpleDateFormat sdf = new SimpleDateFormat("dd.MM.yyyy HH:mm:ss.SSS")
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
String value = "2016-12-26 14:18:57";
Date date = sdf.parse(value);
if (!value.equals(sdf.format(date))) {
System.out.println("not equals");
}
System.out.println("date = " + date);
tl;博士
避免遗留日期时间类
您使用的是麻烦的旧日期时间类,现在是遗留的,被java.time类取代
ISO 8601
首先替换输入字符串中间的空间,使其符合ISO 8601标准格式。
String input = "2016-12-26 14:18:57.0".replace( " " , "T" );
LocalDateTime
将输入字符串解析为LocalDateTime
,因为您的输入字符串没有任何与UTC或时区的偏移指示
LocalDateTime ldt = LocalDateTime.parse( input );
只需调用toString
即可生成字符串。默认情况下,ISO 8601格式用于创建字符串。如果该值没有小数秒,则不会显示小数点或任何小数秒数字
String output = ldt.toString ();
ldt.toString():2016-12-26T14:18:57
如果你不喜欢中间的<代码> t/c>,用一个空格替换。< /P>
output = output.replace( "T" , " " );
2016-12-26 14:18:57
如果您的输入可能包含小数秒,并且您希望完全删除该部分数据,而不是仅抑制其显示,请截断LocalDateTime
对象
LocalDateTime ldtTruncated = ldt.truncatedTo( ChronoUnit.SECONDS ); // Truncate any fraction of a second.
关于java.time 该框架内置于Java8及更高版本中。这些类取代了麻烦的旧日期时间类,例如,& 该项目现已启动,建议迁移到类 要了解更多信息,请参阅。并搜索堆栈溢出以获得许多示例和解释。规格是 从哪里获得java.time类
- 后来
- 内置的李>
- 标准JavaAPI的一部分,带有捆绑实现
- Java9添加了一些次要功能和修复
- 及
- 大部分java.time功能都在中向后移植到Java6和Java7
-
- 该项目专门为Android采用了ThreeTen Backport(如上所述)
- 看
该项目使用其他类扩展了java.time。这个项目是java.time将来可能添加的一个试验场。您可以在这里找到一些有用的类,例如、、和。您的格式是什么?格式可能重复更改,您将得到您所要求的<代码>Hmmm。。。你实际上已经得到了你想要的,你只是没有得到你想要的。太糟糕了,电脑不能读懂你的心思,不知道你想要什么,只会照你说的做,是吗<代码>