GVKun编程网logo

Unix纪元到Java Date对象的时间(java获取unix时间戳)

18

在这里,我们将给大家分享关于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时间戳)

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 的时间戳

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 开始计算的。

milliseconds

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对象显示未来时间

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纪元开始的分钟?

java – 如何将日期/时间字符串转换为从Unix纪元开始的分钟?

我需要将文本文件中的日期/时间转换为从unix纪元经过的分钟数(即1970年1月1日):
e.g. 2006-01-01 07:14:38.000 into 18934874

我使用Java来解析文件.
谢谢

解决方法

您可以使用SimpleDateFormat类来解析时间.例如
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 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对象的格式化代码的相关信息,可以在本站进行搜索。

本文标签: