java如何把时间格式转为毫秒

比如把String类型“201104141302” 转换成毫秒数?不胜感激!

获取毫秒数,即long类型的数值,仅能返回自 1970 年 1 月 1 日 00:00:00 GMT 以来的毫秒数。

一楼、二楼的回答就是正确的,不过在使用中还需要根据自身使用环境,直接使用或者进一步按需优化后再使用。

最常使用的就是,把String类型的日期先转换为Date类型,最后直接调用.getTime()即可,这也是比较方便的了。

还有就是以上提到的Timestamp类中的valueOf(String s) 方法,这里一定要注意,给定的字符串日期型数据必须符合置顶指定格式:yyyy-mm-dd hh:mm:ss[.fffffffff],否则会抛出异常。

PS>

温馨提示:答案为网友推荐,仅供参考
第1个回答  推荐于2017-10-01
这个的话:
import java.text.ParseException;
import java.text.SimpleDateFormat;

public class Cat {

public static void main(String[] args) throws ParseException {

String str = "201104141302";
SimpleDateFormat sdf = new SimpleDateFormat("yyyyMMddhhmm");

long millionSeconds = sdf.parse(str).getTime();//毫秒

System.out.println(millionSeconds);
}
}
输出结果就是:1302757320000
第2个回答  2011-04-14
使用java.sql 包下的 Timestamp类中的static Timestamp valueOf(String s) 方法。
将使用 JDBC 时间戳转义格式的 String 对象转换为 Timestamp 值。
s - 使用 yyyy-mm-dd hh:mm:ss[.f...] 格式的时间戳。可以省略小数秒。
比如你的值可以为2011-04-14 13:02:00
这个方法返回的是Timestamp对象。比如你使用
timest = Timestamp.valueOf("2011-04-14 13:02:00")

然后再使用该类下的getTime() 方法获得毫秒数

long getTime()
返回此 Timestamp 对象表示的自 1970 年 1 月 1 日 00:00:00 GMT 以来的毫秒数。
long time = timest.getTime()

time就是你所需要的毫秒数了。

导包的时候要注意是java.sql 不是util包
第3个回答  2011-04-14
用到的包
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Date;
你这个日期是精确到分钟的那就是

SimpleDateFormat sdf = new SimpleDateFormat("yyyyMMddHHmm");
try {
Date date = sdf.parse("201104141302");
long time = date.getTime();
System.out.println(time);
} catch (ParseException e) {
e.printStackTrace();
}
long 类型的time 就是从1970年1月1日0时0分0秒到你这个时间的毫秒数偏移量。
SimpleDateFormat sdf = new SimpleDateFormat("yyyyMMddHHmmss");
这个来控制你输入的时间转换成的时间类型数据格式,输入的字符长度需要yyyyMMddHHmmss这个格式相等。
够详细了吧?
第4个回答  2011-04-14
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Date;

public class StringToTime {

public long toTime(String data) throws ParseException{
SimpleDateFormat format = new SimpleDateFormat("yyyyMMddmmss");
Date date;

date = format.parse(data);

return date.getTime();
}

public static void main(String[] args) {
try {
System.out.println(new StringToTime().toTime("201124141302"));
} catch (ParseException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}