您的位置:

Java字符串转时间戳

Java中的时间戳是指自1970年1月1日0时0分0秒至某一个时间的总毫秒数。字符串转时间戳是在实际的开发中经常遇到的问题之一。本文将从多个方面详细阐述Java中字符串转时间戳的方法。

一、JS字符串转时间戳

在JavaScript中,可以使用以下代码将字符串转换为时间戳:

let timestamp = new Date('2019/01/01').getTime();
console.log(timestamp); // 1546272000000

其中,new Date()会将字符串转换为Date对象,然后使用getTime()方法获取时间戳。

二、JS字符串时间转时间戳

如果字符串中包含时间信息,可以使用以下代码将其转换为时间戳:

let timestamp = new Date('2019/01/01 12:00:00').getTime();
console.log(timestamp); // 1546300800000

在转换前需要将时间字符串转换为标准的日期字符串,如上面代码中的'2019/01/01 12:00:00'。

三、Pg字符串转时间戳

在PostgreSQL数据库中,可以使用to_timestamp函数将字符串转换为时间戳,具体如下:

SELECT to_timestamp('2019-01-01 00:00:00', 'YYYY-MM-DD HH24:MI:SS')::timestamp without time zone;

其中,第一个参数指定待转换的字符串,第二个参数指定字符串的格式化模板。':timestamp without time zone'是为了避免时区的干扰。

四、Sql字符串转时间戳

在SqlServer数据库中,可以使用convert函数将字符串转换为时间戳,具体如下:

SELECT DATEDIFF(MILLISECOND,'1970-01-01 00:00:00',CONVERT(datetime, '2019-01-01 00:00:00', 120));

其中,第一个参数指定毫秒数为单位,第二个参数是'1970-01-01 00:00:00',第三个参数是待转换的字符串。'120'是时间格式化代码,表示yyyy-MM-dd HH:mm:ss。

五、时间字符串转时间戳

在Java中,可以使用SimpleDateFormat类将时间字符串转换为时间戳,具体如下:

String timeString = "2019-01-01 00:00:00";
SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
Date date = simpleDateFormat.parse(timeString);
long timestamp = date.getTime();
System.out.println(timestamp); // 1546272000000

其中,'2019-01-01 00:00:00'为待转换字符串,"yyyy-MM-dd HH:mm:ss"是时间格式模板,date.getTime()返回毫秒数。

六、MySQL字符串转时间戳

在MySQL数据库中,可以使用UNIX_TIMESTAMP函数将字符串转换为时间戳,具体如下:

SELECT UNIX_TIMESTAMP('2019-01-01 00:00:00');

其中,'2019-01-01 00:00:00'为待转换字符串。

七、Oracle字符串转时间戳

在Oracle数据库中,可以使用to_date函数将字符串转换为日期格式,再使用to_char函数将日期格式转换为时间戳,具体如下:

SELECT (TO_CHAR(TO_DATE('2019-01-01 00:00:00','yyyy-mm-dd hh24:mi:ss') - TO_DATE('1970-01-01','yyyy-mm-dd'),'fm9999999999') * 1000) timestamp FROM dual;

其中,'2019-01-01 00:00:00'为待转换字符串。