如何将整数(例如19000101)转换为java.util.Date?

sba*_*jee 4 java integer date data-conversion

这是我的代码:

Integer value = 19000101 ;         
Run Code Online (Sandbox Code Playgroud)

如何将以YYYYMMDD格式表示的上述Integer 转换为YYYY-MM-DD格式 java.util.Date

Adi*_*Adi 18

首先,您必须使用指定的格式化程序将格式解析为日期对象

Integer value = 19000101;
SimpleDateFormat originalFormat = new SimpleDateFormat("yyyyMMdd");
Date date = originalFormat.parse(value.toString());
Run Code Online (Sandbox Code Playgroud)

请记住,日期没有格式.它仅表示从1970-01-01开始的特定时间(以毫秒为单位).但是,如果要将该日期格式化为预期格式,则可以使用其他格式化程序.

SimpleDateFormat newFormat = new SimpleDateFormat("yyyy-MM-dd");
String formatedDate = newFormat.format(date);
Run Code Online (Sandbox Code Playgroud)

现在,您的formatedDateString应包含以格式表示日期的字符串yyyy-MM-dd


Ale*_*ing 6

在我看来,你真的没有代表你的日期的数字,你有一个三个数字的字符串:年,月和日.您可以使用一些简单的算法提取这些值.

Integer value = 19000101;
int year = value / 10000;
int month = (value % 10000) / 100;
int day = value % 100;
Date date = new GregorianCalendar(year, month, day).getTime();
Run Code Online (Sandbox Code Playgroud)