运行时间(Java版本)—转换毫秒到时分秒日期
第一种方式:
import java.util.Calendar;
import java.util.TimeZone; public class Test { /**
* 将毫秒转换为年月日时分秒
*
* @author GaoHuanjie
*/
public String getYearMonthDayHourMinuteSecond(long timeMillis) {
Calendar calendar = Calendar.getInstance(TimeZone.getTimeZone("GMT+8"));
calendar.setTimeInMillis(timeMillis);
int year=calendar.get(Calendar.YEAR); int month=calendar.get(Calendar.MONTH) + 1;
String mToMonth=null;
if (String.valueOf(month).length()==1) {
mToMonth="0"+month;
} else {
mToMonth=String.valueOf(month);
} int day=calendar.get(Calendar.DAY_OF_MONTH);
String dToDay=null;
if (String.valueOf(day).length()==1) {
dToDay="0"+day;
} else {
dToDay=String.valueOf(day);
} int hour=calendar.get(Calendar.HOUR_OF_DAY);
String hToHour=null;
if (String.valueOf(hour).length()==1) {
hToHour="0"+hour;
} else {
hToHour=String.valueOf(hour);
} int minute=calendar.get(Calendar.MINUTE);
String mToMinute=null;
if (String.valueOf(minute).length()==1) {
mToMinute="0"+minute;
} else {
mToMinute=String.valueOf(minute);
} int second=calendar.get(Calendar.SECOND);
String sToSecond=null;
if (String.valueOf(second).length()==1) {
sToSecond="0"+second;
} else {
sToSecond=String.valueOf(second);
}
return year+ "-" +mToMonth+ "-" +dToDay+ " "+hToHour+ ":" +mToMinute+ ":" +sToSecond;
} public static void main(String[] args) {
System.out.println(new Test().getYearMonthDayHourMinuteSecond(System.currentTimeMillis()));
}
}
另外一种方式:
public class Test {
/**
* 将毫秒转换为年月日时分秒
*
* @author GaoHuanjie
*/
public String getYearMonthDayHourMinuteSecond(long timeMillis) {
int timezone = 8; // 时区
long totalSeconds = timeMillis / 1000;
totalSeconds += 60 * 60 * timezone;
int second = (int) (totalSeconds % 60);// 秒
long totalMinutes = totalSeconds / 60;
int minute = (int) (totalMinutes % 60);// 分
long totalHours = totalMinutes / 60;
int hour = (int) (totalHours % 24);// 时
int totalDays = (int) (totalHours / 24);
int _year = 1970;
int year = _year + totalDays / 366;
int month = 1;
int day = 1;
int diffDays;
boolean leapYear;
while (true) {
int diff = (year - _year) * 365;
diff += (year - 1) / 4 - (_year - 1) / 4;
diff -= ((year - 1) / 100 - (_year - 1) / 100);
diff += (year - 1) / 400 - (_year - 1) / 400;
diffDays = totalDays - diff;
leapYear = (year % 4 == 0) && (year % 100 != 0) || (year % 400 == 0);
if (!leapYear && diffDays < 365 || leapYear && diffDays < 366) {
break;
} else {
year++;
}
}
int[] monthDays;
if (diffDays >= 59 && leapYear) {
monthDays = new int[] { -1, 0, 31, 60, 91, 121, 152, 182, 213, 244, 274, 305, 335 };
} else {
monthDays = new int[] { -1, 0, 31, 59, 90, 120, 151, 181, 212, 243, 273, 304, 334 };
}
for (int i = monthDays.length - 1; i >= 1; i--) {
if (diffDays >= monthDays[i]) {
month = i;
day = diffDays - monthDays[i] + 1;
break;
}
}
return year + "-" + month + "-" + day + " " + hour + ":" + minute + ":" + second;
}
public static void main(String[] args) {
System.out.println(new Test().getYearMonthDayHourMinuteSecond(System.currentTimeMillis()));
}
}
版权声明:本文博客原创文章,博客,未经同意,不得转载。
运行时间(Java版本)—转换毫秒到时分秒日期的更多相关文章
- Java条件查询涉及到时分秒
关于Oralce数据库 的日期时间查询: 下面我们先来看一组日期数据 表:myDate 列:time; 1998-8-7 23:45:33.3 1998-8-7 11:22:21.5 1998-8-7 ...
- java System.currentTimeMillis()毫秒值和具体日期值互相转换
System.currentTimeMillis()与日期 间是可以相互转换的,通过 SimpleDateFormat dateformat = new SimpleDateFormat(" ...
- js中的时间转换—毫秒转换成日期时间
转自:http://www.javascript100.com/?p=181 前几天,在项目中遇到js时间增加问题,要将js毫秒时间转换成日期时间 var oldTime = (new Date(&q ...
- Java编程的逻辑 (32) - 剖析日期和时间
本系列文章经补充和完善,已修订整理成书<Java编程的逻辑>,由机械工业出版社华章分社出版,于2018年1月上市热销,读者好评如潮!各大网店和书店有售,欢迎购买,京东自营链接:http:/ ...
- Java时间转换
package com.fh.util; import java.sql.Timestamp; import java.text.DateFormat; import java.text.ParseE ...
- 你的程序支持复杂的时间调度嘛?如约而来的 java 版本
你的程序支持复杂的时间调度嘛? 这篇文章介绍了时间适配器的c#版本,是给客户端用的,服务器自然也要有一套对应的做法,java版本的 [年][月][日][星期][时间] [*][*][*][*][*] ...
- java Date获取 年月日时分秒
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 3 ...
- Java知多少(77)日期和时间类
Java 的日期和时间类位于 java.util 包中.利用日期时间类提供的方法,可以获取当前的日期和时间,创建日期和时间参数,计算和比较时间. Date 类 Date 类是 Java 中的日期时间类 ...
- Java常用类(I)-时间和日期
java开发中,常涉及到时间的处理,这里就做一个总结,同样也是一个笔记. 相关类及概念 1. java.util.Date:表示特定的瞬间,精确到毫秒.由于API 不易于实现国际化,日期和时间字段之间 ...
随机推荐
- EmEditor Professional(文本编辑) 下载地址
http://www.greenxf.com/soft/2126.html 16.1.5 http://www.cr173.com/soft/3031.html 16.3.0
- 座IO理解力
一般堵塞IO服务器通信,通常有一个单独的Acceptor线程负责监控client联系,它接收client对于每个请求连接后client分配用于处理一个新的线程,处理后.返回应答给client.线程才销 ...
- 如何解决vector 析构函数的异常 opencv Assert _CrtIsValidHeapPointer
一气呵成代码,但是,当发生执行_CrtIsValidHeapPointer例外,去搭调了一上午Bug.最终获得 跟踪定位到 _CrtIsValidHeapPointer ,注意到 g 8h&quo ...
- telnet发电子邮件
无聊今天的工作,想想一个学生被提到最后一次telnet发电子邮件,所以我想试试.最后,成功的实践,这里做个总结. 首先,cmd进telnet打开回话: 下面红色字体为命令. 1.open smtp.1 ...
- 使用autoconf和automake生成Makefile文件(转)
Makefile好难写 曾经也总结了一篇关于Makefile的文章<make和makefile的简单学习>.但是,总结完以后,发现写Makefile真的是一件非常痛苦的事情,的确非常痛苦. ...
- Java的socket服务UDP协议
练习1 接收类 package com.socket.demo; import java.io.IOException; import java.net.DatagramPacket; import ...
- 简介Customer Care Accelerator (CCA)
几个月前,我们发表了CRM4.0的附属插件:Customer Care Accelerator (CCA). 年以来CCA已经存在,我们这些新手在CRM的世界里, Customer Care Fram ...
- IOC/DI的基本思想
IOC/DI的基本思想 1.把程序之间的依赖关系去掉 2.把程序对象设置到IOC/DI容器的配置中作为Bean 3.由IOC/D.容器来管理Bean的创建和实例化 4.由IOC/DI容器来把Bean之 ...
- android从中国天气网获取天气
http://download.csdn.net/detail/sun6223508/8011669 里面的一切..可完全移植 版权声明:本文博主原创文章.博客,未经同意不得转载.
- Nginx + IIS 配置,实现负载均衡
当你的Web应用程序访问量大的时候,一台服务器可能会因为压力过大而无法处理所有的请求.此时,可以增加服务器,采用负载均衡来分担所有的请求.关于Nginx的作用,自行百度了解.总之,在Windows平台 ...