Kar*_*ren 2 java date simpledateformat
我正在尝试将数据从字符串转换为Data类,以便以后可以将其与其他数据进行比较。
我的数据格式:(dd-MM-yyyy例如31-07-2019)。
问题在于format.parse("string date")操作后它显示了错误的数据格式:
Wed Jul 31 00:00:00 UTC 2019
这是我的代码:
import java.text.SimpleDateFormat;
import java.text.ParseException;
import java.io.ByteArrayInputStream;
import java.io.File;
import java.io.InputStream;
import java.util.*;
public class Program {
public static void main(String[] args) {
SimpleDateFormat format = new SimpleDateFormat("dd-MM-yyyy");
try {
String dateString = format.format(new Date());
String dateStr = "31-07-2019";
Date date = format.parse(dateStr);
System.out.println(dateString);
System.out.println(date);
} catch (ParseException e) {
System.out.println("ParseError " + e.getMessage());
}
}
}
Run Code Online (Sandbox Code Playgroud)
dateString (当前日期)成功解析。
在格式和解析时使用java.time代替java.util日期和时间。
public static void main(String args[]) throws Exception {
// create a custom formatter for your pattern
DateTimeFormatter euroDtf = DateTimeFormatter.ofPattern("dd-MM-yyyy");
// receive today's date
LocalDate today = LocalDate.now();
// parse a date that has the form of your pattern using your custom formatter
LocalDate parsedDate = LocalDate.parse("31-07-2019", euroDtf);
System.out.println("Today is " + today.format(euroDtf));
System.out.println("Parsed date is " + parsedDate.format(euroDtf));
}
Run Code Online (Sandbox Code Playgroud)