그런 구성을 사용하여 날짜 (현재 날짜 빼기 1 일)와 시간을 19:00:00으로 설정하는 방법을 알려주세요.
new java.sql.Timestamp(java.util.Calendar.getInstance.getTime().getTime())
LocalDateTime은 사용하지 않습니다.
java.time
(최신 날짜-시간 API)를 사용하는 것이 좋습니다 .
import java.time.LocalTime;
import java.time.OffsetDateTime;
import java.time.ZoneId;
import java.time.ZonedDateTime;
public class Main {
public static void main(String[] args) {
OffsetDateTime odt = ZonedDateTime.now(ZoneId.systemDefault())
.minusDays(1)
.with(LocalTime.of(19, 0))
.toOffsetDateTime();
System.out.println(odt);
}
}
산출:
2020-12-24T19:00Z
OffsetDateTime
다음과 같이 JDBC 코드에서 를 사용할 수 있습니다 .
PreparedStatement st = conn.prepareStatement("INSERT INTO mytable (columnfoo) VALUES (?)");
st.setObject(1, odt);
st.executeUpdate();
st.close();
그러나을 계속 java.sql.Timestamp
사용 ZonedDateTime
하려면 해당 시간대와 함께 사용 하여 필요한 날짜-시간을 가져온 다음 Instant
Epoch 밀리 초를 가져올 수있는 값 으로 변환 할 수 있습니다. 마지막으로 Epoch 밀리 초를 사용하여 java.sql.Timestamp
.
import java.sql.Timestamp;
import java.time.LocalTime;
import java.time.ZoneId;
import java.time.ZonedDateTime;
public class Main {
public static void main(String[] args) {
ZonedDateTime zdt = ZonedDateTime.now(ZoneId.systemDefault())
.minusDays(1)
.with(LocalTime.of(19, 0));
Timestamp timestamp = new Timestamp(zdt.toInstant().toEpochMilli());
System.out.println(timestamp);
}
}
산출:
2020-12-24 19:00:00.0
메모:
ZoneId.systemDefault()
JVM의 시간대를 사용한다. 적용 가능한 시간대 (예 : ZoneId.of("Europe/London")
.Instant
최신 날짜-시간 API에 속합니다 . Trail : Date Time 에서 최신 날짜-시간 API에 대해 알아보십시오 .import java.sql.Timestamp;
import java.util.Calendar;
public class Main {
public static void main(String[] args) {
Calendar calendar = Calendar.getInstance();
calendar.add(Calendar.DAY_OF_YEAR, -1);
calendar.set(Calendar.HOUR_OF_DAY, 19);
calendar.set(Calendar.MINUTE, 0);
calendar.set(Calendar.SECOND, 0);
calendar.set(Calendar.MILLISECOND, 0);
Timestamp timestamp = new Timestamp(calendar.getTimeInMillis());
System.out.println(timestamp);
}
}
산출:
2020-12-24 19:00:00.0
이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.
침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제
몇 마디 만하겠습니다