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;
}
}
相关推荐
在IT领域,特别是编程语言中,时间...这些函数可以帮助开发者更灵活地处理时间相关的数据,特别是在需要跨时区操作的情况下非常有用。理解并掌握这些函数的使用方法,对于开发需要处理大量时间数据的应用程序至关重要。
Unix时间戳转北京时间,用到“time.h”头文件,是C语言的标准库,使用localtime函数进行转换;北京时间转Unix时间戳,使用mktime函数进行转换;UTC时间转化成北京时间,思路:把UTC时间转换成时间戳,然后时间戳数值...
oracle中日期类型与unix 时间戳的转换, Unix时间戳记是从'1970-01-01 00:00:00'GMT...--unix时间戳与date时间互转 SELECT oracle_to_unix(SYSDATE),unix_to_oracle(1551774286),oracle_to_unix(SYSDATE) FROM dual;
在Java编程语言中,时间戳(timestamp)与`java.util.Date`对象之间的转换是处理日期和时间数据时常见的需求。时间戳通常表示为从1970年1月1日午夜(UTC时间)到指定时刻之间的时间间隔,单位通常是毫秒。而`Date`类...
总结,不依赖库函数实现时间戳与日期时间的互转,虽然增加了代码复杂性,但能帮助理解时间戳的本质和日期时间转换的原理。在实际开发中,我们通常使用标准库提供的函数,如C++的`std::chrono`库或Python的`datetime`...
在C语言中处理时间戳与不同时区时间的转换是常见的需求,特别是在跨时区的数据交换和存储中。本文将深入探讨UTC时间戳与北京时间的转换,并提供一个C语言的源码示例。 首先,我们需要了解C语言中的`time.h`头文件,...
Unix系统下时间戳的设置
在嵌入式系统中处理时间通常涉及到时间戳与时间的相互转换,这对于记录事件发生的时间、定时任务或者与其他系统进行时间同步等功能至关重要。本文将深入探讨C语言中如何实现时间戳与时间的转换,并提供适用于嵌入式...
已经经过测试,没有问题,放心使用
本文将深入探讨时间戳与标准日期时间之间的转换,并提供相关编程示例。 首先,让我们了解什么是标准日期时间。标准日期时间是指按照国际标准ISO 8601定义的日期和时间格式,例如"2023-03-15T14:30:00Z",其中"Z...
总结:这款“时间戳转换图片Base64转换小工具”集合了多种实用功能,包括时间戳与日期的相互转换、图片的Base64编码与解码、Base64数据的加解密、MD5哈希计算以及秒表计时。此外,它还能方便地调用系统计算器,满足...
在本文中,我们将重点介绍如何使用JavaScript来编写函数,实现日期时间与时间戳之间的转换。这类转换函数对于处理日期时间数据以及与后端服务进行时间数据交互尤为关键。 首先,我们来探讨一下时间戳的概念。时间戳...
#### 一、Tableau 时间戳转换背景与意义 在数据分析领域,尤其是使用Tableau进行数据可视化时,经常需要处理时间戳数据。时间戳通常表示从某个特定时间点(如1970年1月1日00:00:00 UTC)起经过的时间,单位通常是秒...
然而,在实际操作中,将科学计数法的时间戳转换为标准时间格式(如Java的`java.sql.Timestamp`)时,需要特别注意格式和精度的问题。 在给定的描述中,遇到的问题是科学计数法表示的时间戳"2.7811E+12"在转换为`...
在C#编程中,SQL Server的时间戳(TimeStamp)字段是一个特殊的数据类型,它与我们通常理解的日期时间无关,而是用来记录数据行的版本或更改信息。本文将深入探讨如何在C#中读取和更新SQL Server中的Timestamp字段。...
总结,VB中的时间戳与时间转换主要依赖`DateAdd`和`DateDiff`函数,它们可以帮助我们轻松地在Unix时间戳和日期时间类型之间进行切换。了解这些基本概念和方法,能有效提升我们在编程中的工作效率。
易语言日期时间戳转换,也就是把日期时间转换成数值的形式,方便操作!易语言日期时间戳转换,也就是把日期时间转换成数值的形式,方便操作!易语言日期时间戳转换,也就是把日期时间转换成数值的形式,方便操作!...
c++实现的日期时间转时间戳,时间戳转日期时间:(win32控制台小程序) 例如如下例子: timeStamp: 1325347200; time: 2012-01-01 00:00:00 timeStamp: 1538409599; time: 2018-10-01 23:59:59 timeStamp: 888645574...
例如,可能存在一个`timestamp_to_date(millisecond_timestamp)`函数,将毫秒时间戳转换为日期对象,以及`date_to_timestamp(date_object)`的反向操作。这些函数可能利用了底层操作系统提供的API,或者使用数学算法...
这里,我们讨论的"timestamp 与日期时间互转的 C 语言实现"是一个C语言编写的库,它提供了简洁的API来帮助开发者进行这两种数据类型的转换。下面我们将详细探讨这个库的核心功能及其在实际应用中的使用方法。 首先...