Java 特定格式的日期转换
我想将日期转换为此格式 我使用Java 特定格式的日期转换,java,Java,我想将日期转换为此格式 我使用dated=newdate()获取系统日期 我正在努力 SimpleDateFormat formatter2 = new SimpleDateFormat("dd-MMM-yyyy hh:mm:ss.s"); Date d = new Date(); String CALL_DATE = formatter2.format(d); tats给我的输出是正确的,但当我尝试保存时,它会给出错误: ORA-01830: date format picture ends
dated=newdate()获取系统日期代码>
我正在努力
SimpleDateFormat formatter2 = new SimpleDateFormat("dd-MMM-yyyy hh:mm:ss.s");
Date d = new Date();
String CALL_DATE = formatter2.format(d);
tats给我的输出是正确的,但当我尝试保存时,它会给出错误:
ORA-01830: date format picture ends before converting entire input string
所以请向我推荐这个解决方案。Hm,你发布的代码对我来说很好:)我唯一要做的就是添加一些导入。看:
import java.text.SimpleDateFormat;
import java.util.Date;
public class Test {
public static void main(String args[]) {
SimpleDateFormat formatter2 = new SimpleDateFormat("dd-MMM-yyyy hh:mm:ss.S");
Date d = new Date();
String CALL_DATE = formatter2.format(d);
System.out.println(CALL_DATE);
}
}
此外,正如@adarshr所说,您需要将s
替换为s
以打印毫秒
输出:
m4tx@m4tx-N56VZ:~/Desktop$ javac Test.java
m4tx@m4tx-N56VZ:~/Desktop$ java Test
12-Jul-2013 08:30:41.935
通过根据您的需求进行一些修改,尝试使用这些功能中的任何一个获得帮助
public static Date getDatebyMilliSeconds(Long timeInMillis) {
Calendar cal = Calendar.getInstance();
cal.setTimeInMillis(timeInMillis);
Date date = cal.getTime();
return date;
}
public static Date getDateByString(String str_date) {
DateFormat formatter;
Date date = new Date();
try {
formatter = new SimpleDateFormat("mm/dd/yyyy HH:mm:ss");
date = (Date) formatter.parse(str_date);
} catch (ParseException e) {
logger.error("------- error in date conversion " + e.getMessage());
}
return date;
}
您可以使用date.getTime()
这将以毫秒为单位返回时间,然后您可以使用我提到的1个函数,同样,通过进行一些更改,您可以使用第2个函数。试试这个。。。。。您的代码很好,但我认为您在代码的其他部分犯了错误,请使用下面的代码进行检查
import java.util.*;
import java.text.*;
public class Datedemo {
public static void main(String args[]) {
Date dNow = new Date( );
SimpleDateFormat ft =
new SimpleDateFormat ("dd-MMM-yyyy hh:mm:ss.S");
System.out.println("Current Date: " + ft.format(dNow));
}
}
输出
Current Date: 12-Jul-2013 11:56:44.44
奇怪的是,没有一个答案指出要打印毫秒,必须使用dd-MMM-yyy-hh:mm:ss.S
注意大写的S
我不知道你为什么把它作为一个问题发布
SimpleDateFormat formatter2 = new SimpleDateFormat("dd-MMM-yyyy hh:mm:ss.s");
Date d = new Date();
String CALL_DATE = formatter2.format(d);
这很好用。如果您想以其他格式记录日期,请参阅。您的代码运行良好,并在此处打印2013年7月12日11:56:06.6
相同。你遇到了什么错误?没有复制,也没有stacktrace:投票给closeOP的代码效果很好,并打印了12-Jul-2013 11:56:06.6它打印了06.6,因为你有s.s
。这不可能是正确的输出!它只是将秒数复制成毫秒,但OP告诉他有一个错误+当我试图保存时,它给出错误:ORA-01830:日期格式图片在转换整个输入之前结束string@AloNE您确定在发布的代码中出现此错误吗?不,它不会给我正确的输出,但在“保存时间”时,它会给出一个错误。当您尝试提交时,这是一条Oracle数据库错误消息。这里没有问题。参考此,可能会帮助您解决oracle问题。您是否正在尝试将日期写入Oracle数据库?您应该使它更清晰,并适当地标记,并包括代码的这一部分。然后在你自己的帖子上发表评论,这样每个人都能看得更清楚。