Java 自定义日期和时间字符串(毫秒)
我有以毫秒为单位的时间,例如:1308700800000;我需要在下午2:15将其转换为类似于2011年6月9日的Java 自定义日期和时间字符串(毫秒),java,datetime,datetime-format,simpledateformat,milliseconds,Java,Datetime,Datetime Format,Simpledateformat,Milliseconds,我有以毫秒为单位的时间,例如:1308700800000;我需要在下午2:15将其转换为类似于2011年6月9日的 我试着用 SimpleDateFormat format = new SimpleDateFormat("MMM D'\''YY"); 但我有一个例外: Caused by: java.lang.IllegalArgumentException: Unterminated quote 非常感谢您的帮助。从异常消息中可以清楚地看出,问题将在于格式字符串,特别是单引号部分 我们可以
我试着用
SimpleDateFormat format = new SimpleDateFormat("MMM D'\''YY");
但我有一个例外:
Caused by: java.lang.IllegalArgumentException: Unterminated quote
非常感谢您的帮助。从异常消息中可以清楚地看出,问题将在于格式字符串,特别是单引号部分
我们可以看到:
可以使用单引号(')引用文本以避免解释。“''”表示一个单引号
因此,我相信您的格式(对于日期部分,根据您现有的示例)可以像
new SimpleDateFormat("MMM d''yy")
应该不需要使用反斜杠。试试:
import java.util.*;
import java.text.*;
class D {
public static void main( String ... args ) {
System.out.println(
new SimpleDateFormat("MMM dd''yy")
.format( new Date( 1308700800000L ))
);
}
}
印刷品:
Jun 21'11
安德烈是对的,但是D和Y的帽子对你不起作用。看医生,但是
这应该是可行的:
SimpleDateFormat format = new SimpleDateFormat("MMM d''yy 'at' HH:mm:ss z")
请添加一些代码和完整的异常跟踪将使您在javajava.lang.IllegalArgumentException:Invalized pattern character“Y”
中处理日期和时间时的生活变得更加轻松。对不起,我一直在关注撇号的语法问题,因此通过对比将它们插入到现有格式中。为了使这成为一个可复制和粘贴的答案,我更新了日期和年份参数的大小写。根据Grooveek的建议,大写D和Y不起作用,这实现了SimpleDateFormat=new SimpleDateFormat(“MMM D”“yy”“at'hh:mm aaa”);SimpleDateFormat=新的SimpleDateFormat(“MMM d”“yy”“at'hh:mm aaa”);我成功了。。