java编程之怎样把Long转换成Date的日期格式

java编程之怎样把Long转换成Date的日期格式,第1张

Long类型的时间转换为date,可以通过SimpleDateFormat对象对格式进行定义,然后创建一个Date类型的对象封装时间,再通过SimpleDateFormat对象的format(date)方法就可以获取指定的日期格式了。

有了上面的介绍,看看我是怎么封装一个简单的Long转换为Date的函数:

/

把毫秒转化成日期

@param dateFormat(日期格式,例如:MM/ dd/yyyy HH:mm:ss)

@param millSec(毫秒数)

@return

/

private String transferLongToDate(String dateFormat,Long millSec){

SimpleDateFormat sdf = new SimpleDateFormat(dateFormat);

Date date= new Date(millSec);

return sdfformat(date);

}

写一个main函数测试一下我们写的方法:

import javatextParseException;import javatextSimpleDateFormat;import javautilDate;public class test { public static void main(String[] args) throws ParseException { // TODO Auto-generated method stub Systemoutprintln(transferLongToDate("MM/dd/yyyy",SystemcurrentTimeMillis())); } / 把毫秒转化成日期 @param dateFormat(日期格式,例如:MM/ dd/yyyy HH:mm:ss) @param millSec(毫秒数) @return / private static String transferLongToDate(String dateFormat,Long millSec){ SimpleDateFormat sdf = new SimpleDateFormat(dateFormat); Date date= new Date(millSec); return sdfformat(date); }}

第一种方法:

package cnywtest;

import javatextSimpleDateFormat;

import javautilDate;

public class DateTest {

public static void main(String[] args){

Date today = new Date();

SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd");

formatformat(today);

/输入日期/

Systemoutprintln(formatformat(today));

String datetime = formatformat(today);

//输入年

String year = datetimesubstring(0, datetimeindexOf("-"));

Systemoutprintln(year);

//输出月

String month = datetimesubstring(datetimeindexOf("-")+1, datetimelastIndexOf("-"));

Systemoutprintln(month);

//输出日

String day = datetimesubstring(datetimelastIndexOf("-")+1, datetimelength());

Systemoutprintln(day);

}

}

第二种方法:

Date today = new Date();

long time = todaygetTime();

Calendar calendar = CalendargetInstance();

calendarsetTimeInMillis(time);

//输出年

Systemoutprintln(calendarget(CalendarYEAR));

//输出月 :由于月份是从0开始的所以要加上1

Systemoutprintln(calendarget(CalendarMONTH+1));

//输出日

Systemoutprintln(calendarget(CalendarDAY_OF_MONTH));

希望能够帮助你解决问题

自己写了个方法,直接用就行了

public class Test {

public static void main(String[] args) throws Exception {

long time = 25978000;

Systemoutprintln(getTime(time));

}

public static String getTime(long time) {

String str = "" ;

time = time / 1000;

int s = (int) (time % 60);

int m = (int) (time / 60 % 60);

int h = (int) (time / 3600);

str = h + "小时" + m + "分" + s +"秒";

return str ;

}

}

Date里也是根据long来计算时间的

long表示的是某个时刻相对1970-1-1 8:00:00的毫秒偏移量

long=0的时候时间就是1970-1-1 8:00:00,每过1毫秒long+1

所以根据long也可以计算出当前的年月日时分秒

比如

long day = 1000 60 60 24;

long year = day 365;

long time = SystemcurrentTimeMillis();

Systemoutprintln(time / year + 1970);

可以打印出当前年份(没有考虑闰年问题)

实际应用的话还得考虑闰年问题,每个月的天数不一样的问题,1970-1-1 8:00:00和零时的偏移量问题,格里高利历和儒略历的转换问题等,很复杂,如果不是极端情况还是不要这样了

而且我也没测试过这么做效率是不是真的比Date高

long类型的时间说明获取得到的是时间戳,具体转换可参考以下代码

//mill为你龙类型的时间戳

Date date=new Date(mill);

String strs="";

try {

//yyyy表示年MM表示月dd表示日

//yyyy-MM-dd是日期的格式,比如2015-12-12如果你要得到2015年12月12日就换成yyyy年MM月dd日

SimpleDateFormat sdf=new SimpleDateFormat("yyyy-MM-dd");

//进行格式化

strs=sdfformat(date);

Systemoutprintln(strs);

} catch (Exception e) {

eprintStackTrace();

}

把long时间的毫秒转化为Date日期有2种方法。

第一,利用javautilDate直接转换

1、获取到毫秒值 millis

2、new一个Date对象 date

3、直接调用datesetTime(millis)

第二种方法利用javautilCalendar转换

1、获取到毫秒值 millis

2、获取一个日历类Calendar实例cal

3、调用calsetTimeInMillis(millis);

4、获取cal的Date对象,getTime();

示例:

Date date = new Date();

datesetTime(millis);

 

 

Calendar cal = CalendargetInstance();

calsetTimeInMillis(millis);

Date date = calgetTime();

ong类型的时间转换为date,可以通过SimpleDateFormat对象对格式进行定义,然后创建一个Date类型的对象封装时间,再通过SimpleDateFormat对象的format(date)方法就可以获取指定的日期格式了。

有了上面的介绍,看看我是怎么封装一个简单的Long转换为Date的函数:

1

2

3

4

5

6

7

8

9

10

11

/

把毫秒转化成日期

@param dateFormat(日期格式,例如:MM/ dd/yyyy HH:mm:ss)

@param millSec(毫秒数)

@return

/

private String transferLongToDate(String dateFormat,Long millSec){

SimpleDateFormat sdf = new SimpleDateFormat(dateFormat);

Date date= new Date(millSec);

return sdfformat(date);

}

3

写一个main函数测试一下我们写的方法:

1

import javatextParseException;import javatextSimpleDateFormat;import javautilDate;public class test { public static void main(String[] args) throws ParseException { // TODO Auto-generated method stub Systemoutprintln(transferLongToDate("MM/dd/yyyy",SystemcurrentTimeMillis())); } / 把毫秒转化成日期 @param dateFormat(日期格式,例如:MM/ dd/yyyy H

以上就是关于java编程之怎样把Long转换成Date的日期格式全部的内容,包括:java编程之怎样把Long转换成Date的日期格式、java 如何从Long型的时间中取得年月日、30分求:long值转换为时间类型等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/web/9666702.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-30
下一篇 2023-04-30

发表评论

登录后才能评论

评论列表(0条)

保存