用于处理Unix Time时间的工具类
import java.util.Calendar;
import java.util.Date;
/**
* 该类是DateUtil的改进类, 专门用于处理Unix Time时间, 即格式为"yyyy-MM-dd HH:mm:ss".
*/
public final class UnixTime {
static ThreadLocal<Calendar> CalendarLocal = new ThreadLocal<Calendar>() {
@Override
protected Calendar initialValue() {
return Calendar.getInstance();
}
};
/**
* 标记各个字段的起始位置;
*/
static interface Index {
/* yyyy-MM-dd HH:mm:ss */
int[] YEAR = { 0, 4 };
int[] MONTH = { 5, 7 };
int[] DAY = { 8, 10 };
int[] HOUR = { 11, 13 };
int[] MINUTE = { 14, 16 };
int[] SECOND = { 17, 19 };
}
/**
* 解析日期字串, 返回各个时间段的数值. 依次是年, 月, 日, 时, 分, 秒.
*
* @param val
* 日期字串, 固定格式为"yyyy-MM-dd HH:mm:ss"
* @return 解析后的各个时间段的数值数组.
*/
public static int[] extract(String val) {
int[] vals = new int[6];
int len = val.length();
if (len >= Index.YEAR[1]) {
vals[0] = Integer.parseInt(val.substring(Index.YEAR[0], Index.YEAR[1]), 10);
}
if (len >= Index.MONTH[1]) {
vals[1] = Integer.parseInt(val.substring(Index.MONTH[0], Index.MONTH[1]), 10) - 1;
}
if (len >= Index.DAY[1]) {
vals[2] = Integer.parseInt(val.substring(Index.DAY[0], Index.DAY[1]), 10);
}
if (len >= Index.HOUR[1]) {
vals[3] = Integer.parseInt(val.substring(Index.HOUR[0], Index.HOUR[1]), 10);
}
if (len >= Index.MINUTE[1]) {
vals[4] = Integer.parseInt(val.substring(Index.MINUTE[0], Index.MINUTE[1]), 10);
}
if (len >= Index.SECOND[1]) {
vals[5] = Integer.parseInt(val.substring(Index.SECOND[0], Index.SECOND[1]), 10);
}
return vals;
}
/**
* 解析日期对象, 返回各个时间段的数值. 依次是年, 月, 日, 时, 分, 秒.
*
* @param val
* 日期字串, 固定格式为"yyyy-MM-dd HH:mm:ss"
* @return 解析后的各个时间段的数值数组.
*/
public static int[] extract(Date val) {
int[] vals = new int[6];
Calendar cal = CalendarLocal.get();
cal.setTime(val);
vals[0] = cal.get(Calendar.YEAR);
vals[1] = cal.get(Calendar.MONTH);
vals[2] = cal.get(Calendar.DAY_OF_MONTH);
vals[3] = cal.get(Calendar.HOUR_OF_DAY);
vals[4] = cal.get(Calendar.MINUTE);
vals[5] = cal.get(Calendar.SECOND);
return vals;
}
/**
* 解析日期字串, 返回日期对象.
*
* @param val
* 日期字串, 固定格式为"yyyy-MM-dd HH:mm:ss"
* @return
*/
public static Date parse(String val) {
int[] vals = extract(val);
Calendar cal = CalendarLocal.get();
cal.set(vals[0], vals[1], vals[2], vals[3], vals[4], vals[5]);
return cal.getTime();
}
/**
* 格式日期对象.
*
* @param date
* @return
* 日期字串, 固定格式为"yyyy-MM-dd HH:mm:ss"
*/
public static String format(Date date) {
int[] vals = extract(date);
return String.format("%04d-%02d-%02d %02d:%02d:%02d", vals[0], vals[1] + 1, vals[2], vals[3], vals[4], vals[5]);
}
/**
* 格式日期对象.
*
* @param date
* @return
* 日期字串, 固定格式为"yyyy-MM-dd"
*/
public static String formatDate(Date date) {
int[] vals = extract(date);
return String.format("%04d-%02d-%02d", vals[0], vals[1] + 1, vals[2]);
}
}
相关推荐
30、Unix时间戳(Unix timestamp)转换工具(什么是Unix时间戳(Unix timestamp): Unix时间戳(Unix timestamp),或称Unix时间(Unix time)、POSIX时间(POSIX time),是一种时间表示方式,定义为从格林威治时间1970年01...
)30、Unix时间戳(Unix timestamp)转换工具(什么是Unix时间戳(Unix timestamp): Unix时间戳(Unix timestamp),或称Unix时间(Unix time)、POSIX时间(POSIX time),是一种时间表示方式,定义为从格林威治时间1970年...
30、Unix时间戳(Unix timestamp)转换工具(什么是Unix时间戳(Unix timestamp): Unix时间戳(Unix timestamp),或称Unix时间(Unix time)、POSIX时间(POSIX time),是一种时间表示方式,定义为从格林威治时间1970年01...
30、Unix时间戳(Unix timestamp)转换工具(什么是Unix时间戳(Unix timestamp): Unix时间戳(Unix timestamp),或称Unix时间(Unix time)、POSIX时间(POSIX time),是一种时间表示方式,定义为从格林威治时间1970年01...
使用类的工具导入数据。 来自 timezonedb.com 的示例适用于 Postgres,而此处的脚本适用于 SQLite。查询sqlite.sql有 2 个示例查询,它们显示了如何查询该数据库。 数据库中时区的每个条目都包含定义的规则生效的...
RATS是Regression Analysis of Time Series时间序列回归分析的缩写,用于计量经济时间序列分析,目前已有数十个国家的经济学者使用本软件,用盘面Cross sectional data,经济模型建立,预测等等. 新增模型建立含状态...
基准的Unix实用程序“ubench”提供了一个单一Unix操作系统的测量性能比较各种口味的机器上运行。 Ubench is distributed in the hope that it will be useful, but without any warranty; without even the implied...
8.6. mysqlbinlog:用于处理二进制日志文件的实用工具 8.7. mysqlcheck:表维护和维修程序 8.8. mysqldump:数据库备份程序 8.9. mysqlhotcopy:数据库备份程序 8.10. mysqlimport:数据导入程序 8.11. mysqlshow-...
8.6. mysqlbinlog:用于处理二进制日志文件的实用工具 8.7. mysqlcheck:表维护和维修程序 8.8. mysqldump:数据库备份程序 8.9. mysqlhotcopy:数据库备份程序 8.10. mysqlimport:数据导入程序 8.11. mysqlshow-...
8.6. mysqlbinlog:用于处理二进制日志文件的实用工具 8.7. mysqlcheck:表维护和维修程序 8.8. mysqldump:数据库备份程序 8.9. mysqlhotcopy:数据库备份程序 8.10. mysqlimport:数据导入程序 8.11. mysqlshow-...
8.6. mysqlbinlog:用于处理二进制日志文件的实用工具 8.7. mysqlcheck:表维护和维修程序 8.8. mysqldump:数据库备份程序 8.9. mysqlhotcopy:数据库备份程序 8.10. mysqlimport:数据导入程序 8.11. ...
8.6. mysqlbinlog:用于处理二进制日志文件的实用工具 8.7. mysqlcheck:表维护和维修程序 8.8. mysqldump:数据库备份程序 8.9. mysqlhotcopy:数据库备份程序 8.10. mysqlimport:数据导入程序 8.11. ...
8.6. mysqlbinlog:用于处理二进制日志文件的实用工具 8.7. mysqlcheck:表维护和维修程序 8.8. mysqldump:数据库备份程序 8.9. mysqlhotcopy:数据库备份程序 8.10. mysqlimport:数据导入程序 8.11. mysqlshow-...
/W的使用:加上/W只显示文件名,至于文件大小及建立的日期和时间则都省略。加上参数后,每行可以显示五个文件名。 PATH——路径设置命令 1.功能:设备可执行文件的搜索路径,只对文件有效。 2.类型:内部...
说明: 指定一对值 (UTC,TZD), 设置 TIME WITH TIME ZONE 数据类型的默认值, 该数据类型包含 HOUR, MINUTE, SECOND, TIMEZONE_HOUR 和 TIMEZONE_MINUTE 这几个日期时间字段。UTC 是世界时而 TZD 是当地时区。 语法: ...
8.6. mysqlbinlog:用于处理二进制日志文件的实用工具 8.7. mysqlcheck:表维护和维修程序 8.8. mysqldump:数据库备份程序 8.9. mysqlhotcopy:数据库备份程序 8.10. mysqlimport:数据导入程序 8.11. mysqlshow-...
8.6. mysqlbinlog:用于处理二进制日志文件的实用工具 8.7. mysqlcheck:表维护和维修程序 8.8. mysqldump:数据库备份程序 8.9. mysqlhotcopy:数据库备份程序 8.10. mysqlimport:数据导入程序 8.11. mysqlshow-...
139端口:139端口是为“NetBIOS Session Service”提供的,主要用于提供Windows文件和打印机共享以及Unix中的Samba服务。 143端口:143端口主要是用于“Internet Message Access Protocol”v2(Internet消息访问协议...