`

java String转为时间戳(long类型)

阅读更多

从网上找了半天,很多人都是抄袭别人,而且还不正确,相当气愤!

下面是我修改后正确的把String类型转为事件戳的方法:

public long getTimestamp(String sTime) throws ParseException{
        System.out.println(sTime);
        Timestamp ts = Timestamp.valueOf(sTime);
        Date date2 = new SimpleDateFormat("yyyy/MM/dd HH:mm:ss") 
        .parse("1970/01/01 08:00:00");
        long l = ts.getTime() - date2.getTime() > 0 ? ts.getTime() 
                - date2.getTime() : date2.getTime() - ts.getTime(); 
         long rand = (int)(l/1000);
         
         return rand;
 }

 

sTime是“yyyy-MM-dd HH:mm:ss”格式的,否则会抛出转换异常,转换失败。

这个转换绝对正确,不信可以用其他工具比较命令行输出的sTime和rand结果。

为什么要除以1000呢,因为时间戳的默认单位是毫秒,System.currentTimeMillis(); 返回的就是以毫秒为单位的系统时间戳

分享到:
评论

相关推荐

    java DATE与时间戳互化

    在Java中,时间戳主要用来表示特定的瞬间,它是非常重要的数据类型,特别是在处理日期和时间相关的应用中。 #### 二、时间戳的定义与应用场景 **时间戳**的定义不仅局限于文件属性中的创建、修改、访问时间等,更...

    java--时间戳与时间转换工具

    在Java编程语言中,时间戳和时间转换是常见的任务,特别是在处理系统日志、数据库记录或者用户界面交互时。时间戳通常表示自1970年1月1日(UTC/GMT的午夜)以来的毫秒数。下面将详细讨论如何在Java中进行时间戳与...

    日期跟long转换小工具

    在Java编程语言中,日期通常表示为`java.util.Date`对象,而long型常用于存储时间戳,即自1970年1月1日00:00:00 UTC以来的毫秒数。这种表示方式方便进行日期计算和比较。然而,直接在代码中处理这两个类型之间的转换...

    Android获取时间戳,以及将时间戳转换为时间

    在Java中,我们可以使用`System.currentTimeMillis()`方法来获取当前时间的毫秒时间戳。这是一个示例代码片段: ```java long currentTimeMillis = System.currentTimeMillis(); ``` 这个`currentTimeMillis`变量...

    Android开发人员不得不收集的代码

    SP中写入long类型value putLong SP中读取long getLong SP中写入float类型value putFloat SP中读取float getFloat SP中写入boolean类型value putBoolean SP中读取boolean getBoolean 获取SP中所有键值对 getAll 从SP...

    java数据类型转换.pdf

    - 在进行数据类型转换时,容量小的数据类型可以直接转换为容量大的数据类型(如int转为long),这称为自动类型提升。 - 当容量大的数据类型转换为容量小的数据类型(如double转为float)时,可能会丢失精度,这种...

    java 面试题大全

    在Java中,`String` 是一个对象,而像 `int`, `byte`, `short`, `long`, `float`, `double`, `boolean`, `char` 这些是基本数据类型(primitive types)。基本数据类型存储在栈中,而 `String` 类型的对象则存储在堆...

Global site tag (gtag.js) - Google Analytics