我目前正在创建一个将数据保存到磁盘中的应用程序 . 我希望文件的文件名是当前日期 . 我尝试使用SimpleDateFormat用于此目的,但是我没有被Object覆盖,因此我没有得到有效的结果 .
这是代码:
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss.SSS");
...
ImageIO.write(capture, "png", new File(sdf.toString() + ".png"));
如何将该日期/时间格式表示为字符串?
完整代码:
import java.awt.*;
import java.awt.image.BufferedImage;
import java.io.*;
import java.text.SimpleDateFormat;
import java.util.Date;
import javax.imageio.ImageIO;
public class Screenshot {
private static SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss.SSS");
public static void fullScreenshot() {
Rectangle screenRect = new Rectangle(Toolkit.getDefaultToolkit().getScreenSize());
try {
BufferedImage capture = new Robot().createScreenCapture(screenRect);
ImageIO.write(capture, "png", new File(sdf.format(new Date()) + ".png"));
} catch (IOException e) {
System.err.println("Thrown exception at IO file save");
} catch (AWTException e) {
System.err.println("Insufficient permissions or explosion while screenshoting");
}
}
}
4 回答
你在找
sdf.format(new Date())
.DateFormat
未初始化为任何日期,您必须将日期传递给其format
方法(或将字符串传递给其parse
一个) .你应该做
这会奏效!
只在格式方法上传递日期
你可以做 :
要么
要么
在两种情况下
Date()
来自java.sql
包 .