在这里,我们将给大家分享关于Unix纪元到JavaDate对象的时间的知识,让您更了解java获取unix时间戳的本质,同时也会涉及到如何更有效地JavaDateTime获得当前Unix的时间戳、Ja
在这里,我们将给大家分享关于Unix纪元到Java Date对象的时间的知识,让您更了解java获取unix时间戳的本质,同时也会涉及到如何更有效地Java DateTime 获得当前 Unix 的时间戳、Java Date对象显示未来时间、java – 如何将日期/时间字符串转换为从Unix纪元开始的分钟?、javascript date对象的格式化代码的内容。
本文目录一览:- Unix纪元到Java Date对象的时间(java获取unix时间戳)
- Java DateTime 获得当前 Unix 的时间戳
- Java Date对象显示未来时间
- java – 如何将日期/时间字符串转换为从Unix纪元开始的分钟?
- javascript date对象的格式化代码
Unix纪元到Java Date对象的时间(java获取unix时间戳)
我有一个包含UNIX Epoch time的字符串,我需要将其转换为Java Date对象。
String date = "1081157732";DateFormat df = new SimpleDateFormat(""); // This linetry { Date expiry = df.parse(date); } catch (ParseException ex) { ex.getStackTrace();}
标记的行是我遇到麻烦的地方。我无法计算出SimpleDateFormat()的参数是什么,甚至无法使用SimpleDateFormat()。
答案1
小编典典怎么样:
Date expiry = new Date(Long.parseLong(date));
编辑:根据rde6173的答案,并仔细查看问题中指定的输入,“ 1081157732”似乎是基于秒的纪元值,因此你想将parseLong()的long乘以1000来进行转换到毫秒,这是Java的Date构造函数使用的时间,因此:
Date expiry = new Date(Long.parseLong(date) * 1000);
Java DateTime 获得当前 Unix 的时间戳
使用下面的方法:
logger.debug("Current DateTime in milliseconds - [{}]", new DateTime().getMillis());
上面的代码输出的内容是:
15:01:51.331 [main] DEBUG c.i.s.c.t.utilities.CodecUtilsTest - Current DateTime in milliseconds - [1603998111331]
获得当前日期时间的毫秒数,这个毫秒数是从 1970-01-01T00:00:00Z 开始计算的。
1970年, Unix正式诞生,在第一版《Unix Programmer’s Manual》中把“1971年11月3日”定义为“自1970年1月1日0时0分0秒以来以1/60秒为单位的时间”。
此后,这个定义由于可定义的时间范围,时区,闰秒等问题被重新定义。
https://www.ossez.com/t/java-datetime-unix/623
Java Date对象显示未来时间
我要在当前时间之前的某个时间创建一个新的日期对象。如果我要在今天前1天放映,效果很好。但如果我想在30天前放映,那将是未来(?)
Date date = new Date();long sometime = 24 * 60 * 60 * 1000; //a daySystem.out.println(date.getTime() );Date sometimeago = new Date(date.getTime() - sometime);System.out.println(sometimeago );sometime = 30* 24 * 60 * 60 * 1000; //a monthsometimeago = new Date(date.getTime() - sometime);System.out.println(sometimeago );
输出:
1408160853776Thu Aug 14 20:47:33 PDT 2014Thu Sep 04 13:50:21 PDT 2014
这里有什么限制?达到长期限制?
答案1
小编典典int
文字中的整数溢出,
在您的情况下int
,以前对文字进行求值,结果为负,然后分配给long
sometime = 30* 24 * 60 * 60 * 1000; //a month
这导致 -1702967296
转换成
sometime = 30* 24 * 60 * 60 * 1000L; //a month
注意:L
将其long
文字化,然后相乘
更好地使用Calendar
类进行Date
操作
java – 如何将日期/时间字符串转换为从Unix纪元开始的分钟?
e.g. 2006-01-01 07:14:38.000 into 18934874
我使用Java来解析文件.
谢谢
解决方法
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd kk:mm:ss.SSS"); Date date = sdf.parse("2006-01-01 07:14:38.000"); long timeInMillisSinceEpoch = date.getTime(); long timeInMinutesSinceEpoch = timeInMillisSinceEpoch / TimeUnit.MILLISECONDS.toMinutes(timeInMillisSinceEpoch);
放弃
1)几分钟前,我意识到我已经使用了错误的模式毫秒(使用’s’而不是’S’).对不起,错了.2)增加了@superfav的建议
javascript date对象的格式化代码
JavaScript默认的时间格式我们一般情况下不会用,所以需要进行格式化,下面说说我总结的JavaScript时间格式化方法。
很多时候,我们可以利用JavaScript中Date对象的内置方法来格式化,如:
var d = new Date();
console.log(d); // 输出:Mon Nov 04 2013 21:50:33 GMT+0800 (中国标准时间)
console.log(d.toDateString()); // 日期字符串,输出:Mon Nov 04 2013
console.log(d.toGMTString()); // 格林威治时间,输出:Mon, 04 Nov 2013 14:03:05 GMT
console.log(d.toISOString()); // 国际标准组织(ISO)格式,输出:2013-11-04T14:03:05.420Z
console.log(d.toJSON()); // 输出:2013-11-04T14:03:05.420Z
console.log(d.toLocaleDateString()); // 转换为本地日期格式,视环境而定,输出:2013年11月4日
console.log(d.toLocaleString()); // 转换为本地日期和时间格式,视环境而定,输出:2013年11月4日 下午10:03:05
console.log(d.toLocaleTimeString()); // 转换为本地时间格式,视环境而定,输出:下午10:03:05
console.log(d.toString()); // 转换为字符串,输出:Mon Nov 04 2013 22:03:05 GMT+0800 (中国标准时间)
console.log(d.toTimeString()); // 转换为时间字符串,输出:22:03:05 GMT+0800 (中国标准时间)
console.log(d.toUTCString()); // 转换为世界时间,输出:Mon, 04 Nov 2013 14:03:05 GMT
如果上面的方法不能满足我们的要求,也可以自定义函数来格式化时间,如:
方法一:
// 对Date的扩展,将 Date 转化为指定格式的String
// 月(M)、日(d)、小时(h)、分(m)、秒(s)、季度(q) 可以用 1-2 个占位符,
// 年(y)可以用 1-4 个占位符,毫秒(S)只能用 1 个占位符(是 1-3 位的数字)
// 例子:
// (new Date()).Format("yyyy-MM-dd hh:mm:ss.S") ==> 2006-07-02 08:09:04.423
// (new Date()).Format("yyyy-M-d h:m:s.S") ==> 2006-7-2 8:9:4.18
Date.prototype.Format = function (fmt) { //author: meizz
var o = {
"M+": this.getMonth() + 1, //月份
"d+": this.getDate(), //日
"h+": this.getHours(), //小时
"m+": this.getMinutes(), //分
"s+": this.getSeconds(), //秒
"q+": Math.floor((this.getMonth() + 3) / 3), //季度
"S": this.getMilliseconds() //毫秒
};
if (/(y+)/.test(fmt)) fmt = fmt.replace(RegExp.$1, (this.getFullYear() + "").substr(4 - RegExp.$1.length));
for (var k in o)
if (new RegExp("(" + k + ")").test(fmt)) fmt = fmt.replace(RegExp.$1, (RegExp.$1.length == 1) ? (o[k]) : (("00" + o[k]).substr(("" + o[k]).length)));
return fmt;
}
调用:
var time1 = new Date().Format("yyyy-MM-dd");
var time2 = new Date().Format("yyyy-MM-dd HH:mm:ss");
方法二:
<script language="javascript" type="text/javascript">
<!-- /** * 对Date的扩展,将 Date 转化为指定格式的String * 月(M)、日(d)、12小时(h)、24小时(H)、分(m)、秒(s)、周(E)、季度(q)
可以用 1-2 个占位符 * 年(y)可以用 1-4 个占位符,毫秒(S)只能用 1 个占位符(是 1-3 位的数字) * eg: * (new
Date()).pattern("yyyy-MM-dd hh:mm:ss.S")==> 2006-07-02 08:09:04.423
* (new Date()).pattern("yyyy-MM-dd E HH:mm:ss") ==> 2009-03-10 二 20:09:04
* (new Date()).pattern("yyyy-MM-dd EE hh:mm:ss") ==> 2009-03-10 周二 08:09:04
* (new Date()).pattern("yyyy-MM-dd EEE hh:mm:ss") ==> 2009-03-10 星期二 08:09:04
* (new Date()).pattern("yyyy-M-d h:m:s.S") ==> 2006-7-2 8:9:4.18
*/
Date.prototype.pattern=function(fmt) {
var o = {
"M+" : this.getMonth()+1, //月份
"d+" : this.getDate(), //日
"h+" : this.getHours()%12 == 0 ? 12 : this.getHours()%12, //小时
"H+" : this.getHours(), //小时
"m+" : this.getMinutes(), //分
"s+" : this.getSeconds(), //秒
"q+" : Math.floor((this.getMonth()+3)/3), //季度
"S" : this.getMilliseconds() //毫秒
};
var week = {
"0" : "/u65e5",
"1" : "/u4e00",
"2" : "/u4e8c",
"3" : "/u4e09",
"4" : "/u56db",
"5" : "/u4e94",
"6" : "/u516d"
};
if(/(y+)/.test(fmt)){
fmt=fmt.replace(RegExp.$1, (this.getFullYear()+"").substr(4 - RegExp.$1.length));
}
if(/(E+)/.test(fmt)){
fmt=fmt.replace(RegExp.$1, ((RegExp.$1.length>1) ? (RegExp.$1.length>2 ? "/u661f/u671f" : "/u5468") : "")+week[this.getDay()+""]);
}
for(var k in o){
if(new RegExp("("+ k +")").test(fmt)){
fmt = fmt.replace(RegExp.$1, (RegExp.$1.length==1) ? (o[k]) : (("00"+ o[k]).substr((""+ o[k]).length)));
}
}
return fmt;
}
var date = new Date();
window.alert(date.pattern("yyyy-MM-dd hh:mm:ss"));
// -->
</script>
方法三:
Date.prototype.format = function (mask) {
var d = this;
var zeroize = function (value, length) {
if (!length) length = 2;
value = String(value);
for (var i = 0, zeros = ''''; i < (length - value.length); i++) {
zeros += ''0'';
}
return zeros + value;
};
return mask.replace(/"[^"]*"|''[^'']*''|/b ( ? : d {
1, 4
} | m {
1, 4
} | yy( ? : yy) ? | ([hHMstT]) / 1 ? | [lLZ]) / b / g, function ($0) {
switch ($0) {
case ''d'':
return d.getDate();
case ''dd'':
return zeroize(d.getDate());
case ''ddd'':
return [''Sun'', ''Mon'', ''Tue'', ''Wed'', ''Thr'', ''Fri'', ''Sat''][d.getDay()];
case ''dddd'':
return [''Sunday'', ''Monday'', ''Tuesday'', ''Wednesday'', ''Thursday'', ''Friday'', ''Saturday''][d.getDay()];
case ''M'':
return d.getMonth() + 1;
case ''MM'':
return zeroize(d.getMonth() + 1);
case ''MMM'':
return [''Jan'', ''Feb'', ''Mar'', ''Apr'', ''May'', ''Jun'', ''Jul'', ''Aug'', ''Sep'', ''Oct'', ''Nov'', ''Dec''][d.getMonth()];
case ''MMMM'':
return [''January'', ''February'', ''March'', ''April'', ''May'', ''June'', ''July'', ''August'', ''September'', ''October'', ''November'', ''December''][d.getMonth()];
case ''yy'':
return String(d.getFullYear()).substr(2);
case ''yyyy'':
return d.getFullYear();
case ''h'':
return d.getHours() % 12 || 12;
case ''hh'':
return zeroize(d.getHours() % 12 || 12);
case ''H'':
return d.getHours();
case ''HH'':
return zeroize(d.getHours());
case ''m'':
return d.getMinutes();
case ''mm'':
return zeroize(d.getMinutes());
case ''s'':
return d.getSeconds();
case ''ss'':
return zeroize(d.getSeconds());
case ''l'':
return zeroize(d.getMilliseconds(), 3);
case ''L'':
var m = d.getMilliseconds();
if (m > 99) m = Math.round(m / 10);
return zeroize(m);
case ''tt'':
return d.getHours() < 12 ? ''am'' : ''pm'';
case ''TT'':
return d.getHours() < 12 ? ''AM'' : ''PM'';
case ''Z'':
return d.toUTCString().match(/[A-Z]+$/);
// Return quoted strings with the surrounding quotes removed
default:
return $0.substr(1, $0.length - 2);
}
});
};
我们今天的关于Unix纪元到Java Date对象的时间和java获取unix时间戳的分享就到这里,谢谢您的阅读,如果想了解更多关于Java DateTime 获得当前 Unix 的时间戳、Java Date对象显示未来时间、java – 如何将日期/时间字符串转换为从Unix纪元开始的分钟?、javascript date对象的格式化代码的相关信息,可以在本站进行搜索。
本文标签: