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值转换为时间类型等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)