Java 将时间戳从一种格式转换为另一种格式
我的时间戳是Java 将时间戳从一种格式转换为另一种格式,java,Java,我的时间戳是2015-02-12T12:47:17.101+05:30。在java中,我只想得到MMM_dd_yyy。我尝试了SimpleDataFormat类。但我无法得到它。你能告诉我如何计算月、日和年吗? 更新: public static void main(String[] a ) { SimpleDateFormat sdf = new SimpleDateFormat("MMM_dd_yyyy"); System.out.println(sdf.format("2015-02-
2015-02-12T12:47:17.101+05:30
。在java中,我只想得到MMM_dd_yyy。我尝试了SimpleDataFormat类。但我无法得到它。你能告诉我如何计算月、日和年吗?
更新:
public static void main(String[] a ) {
SimpleDateFormat sdf = new SimpleDateFormat("MMM_dd_yyyy");
System.out.println(sdf.format("2015-02-12T12:47:17.101+05:30"));
}
我收到一个错误,名为java.lang.IllegalArgumentException。可能是什么问题?请尝试以下代码:
SimpleDateFormat sdf = new SimpleDateFormat("MMM_dd_yyyy");
sdf.format(yourTimestamp);
像这样使用SimpleDataFormat:
public static void main(String args[])
{
// This is how to get today's date in Java
Date today = new Date();
//formatting date in Java using SimpleDateFormat
SimpleDateFormat DATE_FORMAT = new SimpleDateFormat("MM_dd_yyyy");
String date = DATE_FORMAT.format(today);
System.out.println("Today in MM_dd_yyyy format : " + date);
}
根据您的
SimpleDateFormat
仅格式化日期和时间戳。您正在传递一个字符串
要正确执行此操作,请首先将您拥有的字符串解析为日期。然后使用格式化程序对其进行格式化
//Java 7 and above
try {
SimpleDateFormat inputFormat = new SimpleDateFormat("yyyy-MM-dd'T'hh:mm:ss.SSSX");
Date date
date = inputFormat.parse("2015-02-12T12:47:17.101+05:30");
SimpleDateFormat outputFormat = new SimpleDateFormat("MMM_dd_yyyy");
System.out.println(outputFormat.format(date));
}catch(Exception e){
//cannot happen in this example
}
试试这个:
public static void main(String[] a) {
Timestamp timestamp = new Timestamp(System.currentTimeMillis());
DateFormat dateFormat = new SimpleDateFormat("MM-dd-yyyy HH:mm");
String text = dateFormat.format(timestamp);
System.out.println(text);
}
使用正则表达式很好地解析它。您使用SimpleDataFormat
究竟尝试了什么?如果你是从一个字符串开始的,你需要一个SimpleDateFormat
来解析,一个用来格式化…@Twelvedolar:不,这是个糟糕的主意。有非常好的类可以解析日期-完全验证正则表达式比使用专门为该作业设计的类要复杂得多。@JonSkeet:在这种情况下,当我传递时间戳时,可能会重复提供IllegalArgumentException