TimestampUtil.java
package util;
import java.sql.Timestamp;
import java.util.Calendar;
public class TimestampUtil {
public final static int YEAR=1;
public final static int MONTH=2;
public final static int DAY=3;
public final static int HOUR=4;
public final static int MINUTE=5;
public final static int SECOND=6;
public final static int WEEK=7;
public final static int MILLISECOND=8;
public final static int CENTURY=9;
public final static int SUNDAY=Calendar.SUNDAY;
public final static int MONDAY=Calendar.MONDAY;
public final static int WEDNESDAY=Calendar.WEDNESDAY;
public final static int TUESDAY=Calendar.TUESDAY;
public final static int THURSDAY=Calendar.THURSDAY;
public final static int FRIDAY=Calendar.FRIDAY;
public final static int SATURDAY=Calendar.SATURDAY;
//获取若干偏移量的时间戳(Timestamp),参数一为操作时间戳(Timestamp),参数二为偏移单位,参数三为偏移值
public static Timestamp getTiemstamp(Timestamp operTime, int unit, int value) {
if (operTime==null) return null;
Calendar c = Calendar.getInstance();
c.setTime(operTime);
Timestamp newTime=null;
switch(unit)
{
case YEAR:
c.set(Calendar.YEAR, c.get(Calendar.YEAR) + value);
newTime=new Timestamp(c.getTimeInMillis());
break;
case MONTH:
c.set(Calendar.MONTH, c.get(Calendar.MONTH) + value);
newTime=new Timestamp(c.getTimeInMillis());
break;
case DAY:
c.set(Calendar.DATE, c.get(Calendar.DATE) + value);
newTime=new Timestamp(c.getTimeInMillis());
break;
case HOUR:
c.set(Calendar.HOUR, c.get(Calendar.HOUR) + value);
newTime=new Timestamp(c.getTimeInMillis());
break;
case MINUTE:
c.set(Calendar.MINUTE, c.get(Calendar.MINUTE) + value);
newTime=new Timestamp(c.getTimeInMillis());
break;
case SECOND:
c.set(Calendar.SECOND, c.get(Calendar.SECOND) + value);
newTime=new Timestamp(c.getTimeInMillis());
break;
case WEEK:
c.set(Calendar.DATE, c.get(Calendar.DATE) + 7*value);
newTime=new Timestamp(c.getTimeInMillis());
break;
case MILLISECOND:
c.set(Calendar.MILLISECOND, c.get(Calendar.MILLISECOND) + value);
newTime=new Timestamp(c.getTimeInMillis());
break;
case CENTURY:
c.set(Calendar.YEAR, c.get(Calendar.YEAR) + 100*value);
newTime=new Timestamp(c.getTimeInMillis());
break;
default:break;
}
return newTime;
}
//获取若干偏移量的时间戳(Timestamp),参数一为操作时间戳(Timestamp),参数二为偏移单位,参数三为偏移值,参数四标记是否获取该天开始那一刻,参数五标记是否获取该天结束那一刻(参数四优先参数五)
public static Timestamp getTiemstamp(Timestamp operTime, int unit, int value,
boolean fromStart, boolean toEnd) {
if (operTime==null) return null;
Calendar c = Calendar.getInstance();
c.setTime(getTiemstamp( operTime,unit,value));
if (fromStart) {
c.set(Calendar.HOUR, 0);
c.set(Calendar.MINUTE, 0);
c.set(Calendar.SECOND, 0);
}
else
{
if (toEnd) {
c.set(Calendar.HOUR, 23);
c.set(Calendar.MINUTE, 59);
c.set(Calendar.SECOND, 59);
}
}
return new Timestamp(c.getTimeInMillis());
}
//获取精度到指定单位的时间戳字符串
public static String getTimestampString(Timestamp operTime,int unit)
{
if(operTime!=null)
{
String str="N/A";
switch(unit)
{
case YEAR:
str=operTime.toString().substring(0,4);
case MONTH:
str=operTime.toString().substring(0,7);
break;
case DAY:
str=operTime.toString().substring(0,10);
break;
case HOUR:
str=operTime.toString().substring(0,13);
break;
case MINUTE:
str=operTime.toString().substring(0,16);
break;
case SECOND:
str= operTime.toString().substring(0,19);
break;
case MILLISECOND:
str= operTime.toString();
break;
default:break;
}
return str;
}
return "N/A";
}
//判断两个时间戳(Timestamp)是否在同一天
public static boolean isTheSameDate(Timestamp time1,Timestamp time2 )
{
if(time1!=null&&time2!=null){
Calendar c1=Calendar.getInstance();
c1.setTime(time1);
int y1=c1.get(Calendar.YEAR);
int m1=c1.get(Calendar.MONTH);
int d1=c1.get(Calendar.DATE);
Calendar c2=Calendar.getInstance();
c2.setTime(time2);
int y2=c2.get(Calendar.YEAR);
int m2=c2.get(Calendar.MONTH);
int d2=c2.get(Calendar.DATE);
if(y1==y2&&m1==m2&&d1==d2)
{
return true;
}
}
else
{
if(time1==null&&time2==null)
{
return true;
}
}
return false;
}
//获取操作时间戳(Timestamp)所在周的一天,其顺序为:星期天,一,二,三,四,五,六
public static Timestamp getDayOfWeek(Timestamp operTime,int day)
{
if(operTime!=null&&day>0&&day<=7)
{
Calendar c=Calendar.getInstance();
c.setTime(operTime);
c.set(Calendar.DAY_OF_WEEK, day);
return new Timestamp(c.getTimeInMillis());
}
return null;
}
}
//功能注释已经说明,不在累赘。继续总结中,热烈欢迎各位朋友来此讨论
分享到:
相关推荐
java_时间戳与Date_相互转化相关函数.txt
oracle中日期类型与unix 时间戳的转换, Unix时间戳记是从'1970-01-01 00:00:00'GMT开始的秒数,表现为整数型。 Oracle中的时间是Date型,以下函数提供了两种时间转换的Oracle函数 --unix时间戳与date时间互转 ...
开源的时间戳精确到毫秒级别几乎全API函数部分使用支持库命令,此源代码精易没有功能都是类似的.@tian89。
① 时间戳转换成日期 代码如下: FROM_UNIXTIME 例如: 数据表中 invest_time 存储的是时间戳,如 1429063399 使用 FROM_UNIXTIME 可以把时间戳转换为日期: 代码如下: select FROM_UNIXTIME(invest_time,’%Y年%m...
Python处理时间和时间戳的内置模块就有time,和datetime两个,本文先说time模块。 关于时间戳的几个概念 时间戳,根据1970年1月1日00:00:00开始按秒计算的...time模块与时间戳和时间相关的重要函数 time.time() 生成
日志系统的表中,时间字段存储的是13位时间戳timestamp而不是日期数据,而在业务中,我们需要通过时间和ip来进行分组查询给定日期的数据. 当然你可以选择在业务层先将传入的日期转为时间戳,再去进行查询,但是既然mysql...
通过sysTimestampFreq()函数可以得到系统时间戳的频率,它往往反映的是CPU定时器的基准频率。当然,如此高的分辨率只能是一个理想值,不同的系统不一定都能实现。毕竟该时间戳的实现方式有一个致命的弱点:通过查询...
4. 指定格式日期转UNIX时间戳函数: unix_timestamp 18 5. 日期时间转日期函数: to_date 19 6. 日期转年函数: year 19 7. 日期转月函数: month 19 8. 日期转天函数: day 19 9. 日期转小时函数: hour 20 10. 日期转...
主要介绍了ms sql server中实现的unix时间戳函数,含生成和格式化UNIX_TIMESTAMP、from_unixtime两个函数,可以和mysql兼容,需要的朋友可以参考下
在MySQL中UNIX时间戳与日期的相互转换,举例说明 FROM_UNIXTIME 和 UNIX_TIMESTAMP 函数的使用。
11 alt_timestamp_start(); // 开启时间戳服务 12 13 t0 = alt_timestamp(); // 测量时间戳t0 14 usleep(1000); 15 t1 = alt_timestamp(); // 测量时间戳1 16 for(i=0; i; i++); 17 t2 = alt_timestamp(); /...
TIMESTAMP时间戳在创建的时候可以有多重不同的特性,如: 1.在创建新记录和修改现有记录的时候都对这个数据列刷新: TIMESTAMP DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP 2.在创建新记录的时候把这...
常用函数time.time()函数time.localtime() 函数time.mktime()函数time.strftime() 函数time.strptime() 函数time.sleep() 函数 time.time()函数 定义 返回当前时间的时间戳(1970纪元后经过的浮点秒数) 语法 time....
对于时间数据,如2018-09-25 09:28:59,有时需要与Unix时间戳进行相互的运算,此时就需要对两种形式进行转换,在Python中,转换时需要用到time模块,具体的函数如下: 其中unix_time函数是正常时间转unix时间,local...
有关脚本如何工作的更多信息,请访问: : 这个基本函数有几种不同的迭代。 基本脚本是 GoPro_timestamp.py。 GoPro_timestamp_filewalker 为批处理视频添加了额外的功能。 来自外部来源的数据可以添加到视频中,...
format可以包含与DATE_FORMAT()函数列出的条目同样的修饰符。 根据format字符串格式化date值。下列修饰符可以被用在format字符串中: %M 月名字(January……December)%W 星期名字(Sunday……Saturday)%D 有英语前缀...
go-timestamp-sql 从null.Time转换为Google Protobuf时间戳的功能,反之亦然。 这非常有用,因为我们使用库将时间戳字段存储到SQL中。入门go get -v github.com/AlpacaLabs/go-timestamp-sql 并在您的Go代码中import...
平时比较常用的时间、字符串、时间戳之间的互相转换,虽然常用但是几乎每次使用时候都喜欢去搜索一下用法;本文将作为一个笔记,整理一下三者之间的 转换(即:date转字符串、date转时间戳、字符串转date、字符串转...
场景: 有张表的数据需要用同步工具同步至其他库... 您可能感兴趣的文章:mysql之TIMESTAMP(时间戳)用法详解FROM_UNIXTIME 格式化MYSQL时间戳函数MySQL中日期和时间戳互相转换的函数和方法详解MySQL日期 字符串 时间戳
本文实例讲述了JavaScript时间与时间戳的转换操作。分享给大家供大家参考,具体如下: 一、时间转时间戳:javascript获得时间戳的方法有五种,都是通过实例化时间对象 new Date() 来进一步获取当前的时间戳 1. var ...