我使用它来获取当前时间:
java.util.Calendar cal = java.util.Calendar.getInstance();
System.out.println(new java.text.SimpleDateFormat("EEEE, dd/MM/yyyy/hh:mm:ss")
.format(cal.getTime()));
我想把值(我把它打印出来)放到一个date对象中,我尝试这样做:
Date currentDate = new Date(value);
但是eclipse告诉我这个功能并不好。
编辑 value
是我使用system.out.println打印给您的值
发布于 2013-04-25 14:49:36
当您想要将字符串转换为Date对象时,请使用SimpleDateFormat#parse
试着使用
String dateInString = new java.text.SimpleDateFormat("EEEE, dd/MM/yyyy/hh:mm:ss")
.format(cal.getTime())
SimpleDateFormat formatter = new SimpleDateFormat("EEEE, dd/MM/yyyy/hh:mm:ss");
Date parsedDate = formatter.parse(dateInString);
.Additional的意思是如果你想把一个Date
转换成String
,那么你应该使用SimpleDateFormat#format
函数。
现在你需要指出的是,new Date(String)
已经被弃用,任何人只要想要解析,就不推荐使用now.Now,那么他/她就应该使用SimpleDateFormat#parse
。
有关SimpleDateFormat选项中使用的更多日期和时间模式,请参阅official doc。
发布于 2013-04-25 14:50:31
使用SimpleDateFormat解析方法:
import java.text.DateFormat;
import java.text.SimpleDateFormat;
String inputString = "11-11-2012";
DateFormat dateFormat = new SimpleDateFormat("dd-MM-yyyy");
Date inputDate = dateFormat.parse(inputString, dateFormat );
由于我们使用的是带有LocalDate的Java8,因此我建议使用next:
import java.time.LocalDate;
import java.time.format.DateTimeFormatter;
String inputString = "11-11-2012";
DateTimeFormatter formatter = DateTimeFormatter.ofPattern("dd-MM-yyyy");
LocalDate inputDate = LocalDate.parse(inputString,formatter);
发布于 2013-04-25 14:50:55
首先要知道ECLIPSE这样做的原因。
Date只有一个构造函数 date (long date),它请求long数据类型的date。
您正在使用的构造函数
已弃用日期(字符串% s)。从JDK1.1版开始,替换为DateFormat.parse(字符串s)。
这就是为什么eclipse告诉我们这个函数不好的原因。
请参阅此官方文档
从您的上下文中弃用的方法--源代码--
方法或类可能被弃用的原因有很多。在不破坏向后兼容性的情况下,应用程序接口可能不容易扩展,因此会被更强大的应用程序接口所取代(例如,java.util.Date已被弃用,取而代之的是日历或Java1.0事件模型)。它也可能在某些情况下无法工作或产生不正确的结果(例如,一些java.io流类在某些编码下不能正常工作)。有时一个应用程序接口只是构思不周( servlet API中的SingleThreadModel),没有被任何东西取代。一些早期的调用已经被"Java Bean"-compatible方法所取代(以getSize为大小,以getBounds为界限等)。
谷歌搜索解决方案是否仅限于 IT--
您可以通过将日期字符串转换为长毫秒来使用date(long date),stackoverflow为此目的提供了许多帖子。
https://stackoverflow.com/questions/16208121
复制相似问题