📄 utildatetime.java
字号:
package com.jdev.util;
import java.util.*;
import java.text.*;
import java.util.Date;
/**
* Utility class for handling java.util.Date, the java.sql data/time classes and related information
*
* @author <a href="mailto:jonesde@ofbiz.org">David E. Jones</a>
* @author <a href="mailto:jaz@ofbiz.org">Andy Zeneski</a>
* @version $Revision: 1.11 $
* @since 2.0
*/
public class UtilDateTime {
/** Return a Timestamp for right now
* @return Timestamp for right now
*/
public static java.sql.Timestamp nowTimestamp() {
return new java.sql.Timestamp(System.currentTimeMillis());
}
/** Return a Date for right now
* @return Date for right now
*/
public static java.util.Date nowDate() {
return new java.util.Date();
}
public static java.sql.Timestamp getDayStart(java.sql.Timestamp stamp) {
return getDayStart(stamp, 0);
}
public static java.sql.Timestamp getDayStart(java.sql.Timestamp stamp, int daysLater) {
Calendar tempCal = Calendar.getInstance();
tempCal.setTime(new java.util.Date(stamp.getTime()));
tempCal.set(tempCal.get(Calendar.YEAR), tempCal.get(Calendar.MONTH), tempCal.get(Calendar.DAY_OF_MONTH), 0, 0, 0);
tempCal.add(Calendar.DAY_OF_MONTH, daysLater);
return new java.sql.Timestamp(tempCal.getTime().getTime());
}
public static java.sql.Timestamp getNextDayStart(java.sql.Timestamp stamp) {
return getDayStart(stamp, 1);
}
public static java.sql.Timestamp getDayEnd(java.sql.Timestamp stamp) {
return getDayEnd(stamp, 0);
}
public static java.sql.Timestamp getDayEnd(java.sql.Timestamp stamp, int daysLater) {
Calendar tempCal = Calendar.getInstance();
tempCal.setTime(new java.util.Date(stamp.getTime()));
tempCal.set(tempCal.get(Calendar.YEAR), tempCal.get(Calendar.MONTH), tempCal.get(Calendar.DAY_OF_MONTH), 23, 59, 59);
tempCal.add(Calendar.DAY_OF_MONTH, daysLater);
return new java.sql.Timestamp(tempCal.getTime().getTime());
}
/** Converts a date String into a java.sql.Date
* @param date The date String: MM/DD/YYYY
* @return A java.sql.Date made from the date String
*/
public static java.sql.Date toSqlDate(String date) {
java.util.Date newDate = toDate(date, "00:00:00");
if (newDate != null)
return new java.sql.Date(newDate.getTime());
else
return null;
}
/** Makes a java.sql.Date from separate Strings for month, day, year
* @param monthStr The month String
* @param dayStr The day String
* @param yearStr The year String
* @return A java.sql.Date made from separate Strings for month, day, year
*/
public static java.sql.Date toSqlDate(String monthStr, String dayStr, String yearStr) {
java.util.Date newDate = toDate(monthStr, dayStr, yearStr, "0", "0", "0");
if (newDate != null)
return new java.sql.Date(newDate.getTime());
else
return null;
}
/** Makes a java.sql.Date from separate ints for month, day, year
* @param month The month int
* @param day The day int
* @param year The year int
* @return A java.sql.Date made from separate ints for month, day, year
*/
public static java.sql.Date toSqlDate(int month, int day, int year) {
java.util.Date newDate = toDate(month, day, year, 0, 0, 0);
if (newDate != null)
return new java.sql.Date(newDate.getTime());
else
return null;
}
/** Converts a time String into a java.sql.Time
* @param time The time String: either HH:MM or HH:MM:SS
* @return A java.sql.Time made from the time String
*/
public static java.sql.Time toSqlTime(String time) {
java.util.Date newDate = toDate("1/1/1970", time);
if (newDate != null)
return new java.sql.Time(newDate.getTime());
else
return null;
}
/** Makes a java.sql.Time from separate Strings for hour, minute, and second.
* @param hourStr The hour String
* @param minuteStr The minute String
* @param secondStr The second String
* @return A java.sql.Time made from separate Strings for hour, minute, and second.
*/
public static java.sql.Time toSqlTime(String hourStr, String minuteStr, String secondStr) {
java.util.Date newDate = toDate("0", "0", "0", hourStr, minuteStr, secondStr);
if (newDate != null)
return new java.sql.Time(newDate.getTime());
else
return null;
}
/** Makes a java.sql.Time from separate ints for hour, minute, and second.
* @param hour The hour int
* @param minute The minute int
* @param second The second int
* @return A java.sql.Time made from separate ints for hour, minute, and second.
*/
public static java.sql.Time toSqlTime(int hour, int minute, int second) {
java.util.Date newDate = toDate(0, 0, 0, hour, minute, second);
if (newDate != null)
return new java.sql.Time(newDate.getTime());
else
return null;
}
/** Converts a date and time String into a Timestamp
* @param dateTime A combined data and time string in the format "MM/DD/YYYY HH:MM:SS", the seconds are optional
* @return The corresponding Timestamp
*/
public static java.sql.Timestamp toTimestamp(String dateTime) {
java.util.Date newDate = toDate(dateTime);
if (newDate != null)
return new java.sql.Timestamp(newDate.getTime());
else
return null;
}
/** Converts a date String and a time String into a Timestamp
* @param date The date String: MM/DD/YYYY
* @param time The time String: either HH:MM or HH:MM:SS
* @return A Timestamp made from the date and time Strings
*/
public static java.sql.Timestamp toTimestamp(String date, String time) {
java.util.Date newDate = toDate(date, time);
if (newDate != null)
return new java.sql.Timestamp(newDate.getTime());
else
return null;
}
/** Makes a Timestamp from separate Strings for month, day, year, hour, minute, and second.
* @param monthStr The month String
* @param dayStr The day String
* @param yearStr The year String
* @param hourStr The hour String
* @param minuteStr The minute String
* @param secondStr The second String
* @return A Timestamp made from separate Strings for month, day, year, hour, minute, and second.
*/
public static java.sql.Timestamp toTimestamp(String monthStr, String dayStr, String yearStr, String hourStr,
String minuteStr, String secondStr) {
java.util.Date newDate = toDate(monthStr, dayStr, yearStr, hourStr, minuteStr, secondStr);
if (newDate != null)
return new java.sql.Timestamp(newDate.getTime());
else
return null;
}
/** Makes a Timestamp from separate ints for month, day, year, hour, minute, and second.
* @param month The month int
* @param day The day int
* @param year The year int
* @param hour The hour int
* @param minute The minute int
* @param second The second int
* @return A Timestamp made from separate ints for month, day, year, hour, minute, and second.
*/
public static java.sql.Timestamp toTimestamp(int month, int day, int year, int hour, int minute, int second) {
java.util.Date newDate = toDate(month, day, year, hour, minute, second);
if (newDate != null)
return new java.sql.Timestamp(newDate.getTime());
else
return null;
}
/** Converts a date and time String into a Date
* @param dateTime A combined data and time string in the format "MM/DD/YYYY HH:MM:SS", the seconds are optional
* @return The corresponding Date
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -