0

对于应用程序,我需要从文件上传中提取一些字段。其中一个字段是没有分隔符的十进制日期,格式为 yyyyMMDD。例如,今天的日期将表示为 20130406。

Java Date 类或 Joda 时间中是否存在将其转换为 SQL 样式 DateTime 字段的现有实用程序?

4

2 回答 2

1

这在 JODA 或基本 Java 日期解析中应该相当简单,只需转换为字符串并使用 YYYYMMdd 的解析模式。以下适用于 JODA 时间。

import org.joda.time.DateTime;
import org.joda.time.format.DateTimeFormat;
import org.joda.time.format.DateTimeFormatter;

public class Example {

    public static void main(String[] args) throws Exception {

        int date = 20130406;
        String dateString = Integer.toString(date);
        System.out.println(dateString);

        DateTimeFormatter formatter = DateTimeFormat.forPattern("YYYYMMdd");

        DateTime result = formatter.parseDateTime(dateString);
        System.out.println(result);

    }
}
于 2013-05-06T20:34:13.380 回答
1

我的方法:将其转换为 aString然后解析值以将其转换为int. 您已经知道年、月、日和小时的位置,所以很容易。例如:

String dateAsText = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss")
                          .format(new Date(1333125342 * 1000L));


int year= Integer.parseInt(dateAsText.substring(0,4));
于 2013-05-06T20:41:16.720 回答