java - 在java中设置和获取日期的时间

标签 java date java-7

我有一个日期。我只想复制它的时间,不包括日期。然后我需要将时间插入另一个日期。

有没有简单的方法可以做到这一点?我无法更改日期数据类型。我可以做 getHour()、getMinutes() 等,但是这是冗长的。有没有我可以使用的更清晰的版本?或者可能是其他库,例如 apache commons 来设置/获取日期时间(到目前为止还没有发现任何内容)。

最佳答案

试试这个:

public static Date copyTimeOnly(Date toDate, Date fromDate) {
    Calendar toCal = new GregorianCalendar();
    toCal.setTime(toDate);

    Calendar fromCal = new GregorianCalendar();
    fromCal.setTime(fromDate);

    // Copy time only
    toCal.set(Calendar.HOUR_OF_DAY, fromCal.get(Calendar.HOUR_OF_DAY));
    toCal.set(Calendar.MINUTE, fromCal.get(Calendar.MINUTE));
    toCal.set(Calendar.SECOND, fromCal.get(Calendar.SECOND));
    toCal.set(Calendar.MILLISECOND, fromCal.get(Calendar.MILLISECOND));

    return toCal.getTime();
}

关于java - 在java中设置和获取日期的时间,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27043427/

相关文章:

java - wildfly 8.2 在 vm 参数中的 javaagent 上启动失败

java - Docker OpenJDK-8 JavaFx

CakePHP 在 2 个日期记录之间搜索

dd-MMM-yyyy 格式的 java.time.format.DateTimeParseException

Java 7 更改了 Collections.checkedCollection 的行为以允许 null。 API 在混合环境中使用它是否仍然值得?

java - 使用 Mockito 测试返回的字符串是否具有一定长度

java - 在每个 ListView 项目中添加 Heavy UI

python - 如何使用Python将日期字符串转换为Solr日期格式?

java - 土耳其 ("Asia/Istanbul"或 "Europe/Istanbul"上的 JDK 时区问题)

Linux 机器(UTC 时区)中的 Java 程序以 HDT 时区而不是 UTC 时区返回日期