我有以下字符串02/11/2012 23:11
有没有办法将其转换为long 021120122311l
?
我正在尝试根据创建的日期将对象映射到数组中的特定位置。
答案 0 :(得分:1)
您可以使用SimpleDateFormat将其生成为不带任何符号的字符串,然后使用Long类解析long值
SimpleDateFormat s1 = new SimpleDateFormat("dd/MM/yyyy HH:mm");
SimpleDateFormat s2 = new SimpleDateFormat("ddMMyyyyHHmm");
Date d = s1.parse("02/11/2012 23:11");
String s3 = s2.format(d);
System.out.println(s3);
long l = Long.parseLong(s3);
System.out.println(l);
答案 1 :(得分:1)
试试这个,
String dateValue = "02/11/2012 23:11";
SimpleDateFormat simpleDateFormat = new SimpleDateFormat("dd/MM/yyyy HH:mm");
Date date = simpleDateFormat.parse(dateValue);
simpleDateFormat = new SimpleDateFormat("ddMMyyyyHHmm");
String value = simpleDateFormat.format(date);
Long result = Long.parseLong(value);
System.out.println("Result : "+result);
答案 2 :(得分:0)
你可以试试这个
SimpleDateFormat simpleDateFormat = new SimpleDateFormat("dd/MM/yyyy hh:mm");
Date inputDate;
try {
inputDate = simpleDateFormat.parse("02/11/2012 23:11");
System.out.println(inputDate.getTime());
} catch (ParseException e) {
e.printStackTrace();
}
输出:
1351878060000
答案 3 :(得分:0)
时区对于将字符串解析为日期时间值至关重要,除非您绝对确定所有字符串都表示在同一时区中发生的日期时间。
Joda-Time让这项工作变得更加轻松。
DateTimeFormatter formatter = DateTimeFormat.forPattern( "dd/MM/yyyy hh:mm" );
DateTimeZone timeZone = DateTimeZone.forID( "Europe/Paris" );
DateTime dateTime = formatter.withZone( timeZone ).parseDateTime( myString );
long millisecondsSinceEpoch = dateTime.getMillis();