您的位置:

java时间类型,java时间类型转换成字符串

本文目录一览:

java里表示时间的类型是什么?

java.util.Date,和java.util.Calendar 是 java 的主要的时间类型

Java.util.Calendar类是java.util.Date类的一个更加深入,更加全面的替代。Java.util.Calendar类支持java.util.Date的所有功能,此外,Calendar还引入了多语言,多区域的特性,可以根据需要获取不同区域,不同时区的时间,Calendar还增加了比Date更加方便和快捷的许多操作,如获取一年当中的第几个星期,各个月的天数等便捷的方法。

Java.util.Calendar区别与java.util.Date的几个地方也需要注意一下:首先,Calendar增加了毫秒的时间段,通过它可以获取时间点的毫秒值,而java.util.Date只是精确到秒。其次,Calendar过去年的时候是当前年份比如:2010,而Date获取年份的时获取到的是当前年份-1900的一个值(2010-1900=110,因此,你调用getYear后过去的值就是110)。最后Calendar是一个抽象类,之所以能够实例化,是因为此处的Calendar充当了一个类似于工厂的作用,在getInstance方法中实例化了Calendar子类GregorianCalendar,并把它返回给客户使用。

此外,还有 java.sql.Date, java.sql.Time, java.sql.Timestamp

在数据库中定义的时间类型在JAVA代码中用什么类型?

数据库定义的时间类型使用java代码中的Date类型,数据库存储的时间类型有可能是很多种的,在java代码中,可以使用时间转换类simpledateformat类来进行转换,实例如下:

ListMyDate list=dao.getDate();//从数据库拿到的时间数据

  SimpleDateFormat sdf=new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");//定义一个时间类型

  for (int j = 0; j  list.size(); j++) {

   MyDate da=list.get(j);

   System.out.println(sdf.format(da.getDate()));//打印出转换后的时间

  }

java中定义一个时间类

正好我这有一个日期的工具类,你参考一下。我是直接黏贴进来的,看起来感觉有点乱,你复制后放到eclipse里看就整齐了。

import java.text.ParseException;

import java.text.SimpleDateFormat;

import java.util.Calendar;

import java.util.Date;

import org.junit.Test;

/**

* @author Administrator

* 各种日期、时间转换的示例总结:

*/

public class DateFormatUtil {

/**

* 将当前时间转换成指定格式的日期形式的字符串输出

* */

@Test

public void dateToStr(){

SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");

String dateString = sdf.format(new Date());

System.out.println(dateString);

}

/**

* 将给定时间格式的字符串,解析成Date输出

* @throws ParseException

* */

@Test

public void strToDate() throws ParseException{

String str = "201012241002";//yyyyMMddhhmm

SimpleDateFormat sdf = new SimpleDateFormat("yyyyMMddhhmm");

Date date = sdf.parse(str);

System.out.println(date);

}

/**

* 字符串,格式化 为指定字符串

* @throws ParseException

*/

@Test

public void formatstr()throws ParseException{

String str = "20170314155847";//yyyyMMddhhmm

SimpleDateFormat sdf = new SimpleDateFormat("yyyyMMddHHmmss");

SimpleDateFormat sdf2 = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");

String str2 = sdf2.format(sdf.parse(str));

System.out.println(str2);

}

/**

* 操作时间:当前时间减去一天,一月,一年

*/

@Test

public void oprateDate(){

Date date = new Date();//获取当前时间

Calendar calendar = Calendar.getInstance();

calendar.setTime(date);

// calendar.add(Calendar.YEAR, -1);//当前时间减去一年,即一年前的时间

// calendar.add(Calendar.MONTH, -1);//当前时间前去一个月,即一个月前的时间

calendar.add(Calendar.DATE, -1);

Date time = calendar.getTime();//获取一年前的时间,或者一个月前的时间

System.out.println(time);

}

}

Java里时间最好用什么类型?

用String类型的吧,一般这样的情况我都是用String类型的,然后将其格式化一下,成为你需要的格式,

在然后hql语句中有一个非常好用的函数就是[to_date(String)];你的hql语句就可以这样写了:

String

hql="select

n

from

news

as

n

where

n.date

to_date("+dateString+")";

倘若不喜欢使用加字符,你可以是用占位符,实现效果也是一样的.只是需要为占位符赋值而已.

java中的时间类型有几种

java总体有2大类。1、基本数据类型(8种)!2、引用数据类型基本数据类型种不包括有时间类型。所以没有

用Java做的 定义一个时间类型(类名MyTime)

import java.text.ParseException;

import java.text.SimpleDateFormat;

import java.util.Calendar;

import java.util.Date;

import java.util.TimeZone;

public class MyTime {

public String hour;

public String minute;

public String second;

public MyTime() {

hour = "00";

minute = "00";

second = "00";

}

public MyTime(String hour, String minute, String second) {

this.hour = hour;

this.minute = minute;

this.second = second;

}

public MyTime TimeAdd(MyTime t) {

SimpleDateFormat format = new SimpleDateFormat("HH:mm:ss");// 定义格式

String str1 = t.toString();// 时间字符串

String str2 = this.toString();// 时间字符串

Date date1 =null;

Date date2 =null;

try {// 构造时间字符串

date1= format.parse(str1);

} catch (ParseException e) {

date1 = new Date();//如果出错为00:00:00

date1.setHours(0);

date1.setMinutes(0);

date1.setSeconds(0);

}

try {

date2= format.parse(str2);

} catch (ParseException e) {// 构造时间字符串

date2 = new Date();//如果出错为00:00:00

date2.setHours(0);

date2.setMinutes(0);

date2.setSeconds(0);

}

TimeZone tz = TimeZone.getTimeZone("+0800");

Calendar c1=Calendar.getInstance();

c1.setTimeZone(tz);

c1.setTime(date1);//转成Calendar类型方便计算

Calendar c2=Calendar.getInstance();

c2.setTimeZone(tz);

c2.setTime(date2);//转成Calendar类型方便计算

String str= format.format(c1.getTimeInMillis()+c2.getTimeInMillis());

System.out.println(str);

return StrToTime(str);//返回时间

}

public MyTime StrToTime(String str) {

SimpleDateFormat format = new SimpleDateFormat("HH:mm:ss");

try {

format.parse(str);

return new MyTime(str.substring(0, 2), str.substring(2, 4), str

.substring(4, 6));

} catch (Exception e) {

return new MyTime("00", "00", "00");

}

}

public String toString() {

return hour + ":" + minute + ":" + second;

}

public static void main(String[] args) {

MyTime myTime=new MyTime("01","05","05");

MyTime myTime2=new MyTime("02","02","01");

myTime.TimeAdd(myTime2);

}

}

相加方法小时有问题,是时区问题,不影响