我用过
SimpleDateFormat formatter = new SimpleDateFormat("dd.MM.yyyy, HH:mm");
String time = formatter.format(new Date());
得到时间(12.03.2012,17:31),现在我想将此时间转换为毫秒,因为我有一个带有几个日期和文本的文件,我想以毫秒转换日期,以便我无法使用
在收件箱中添加文本ContentValues values = new ContentValues();
values.put("address", "123");
values.put("body", "tekst");
values.put("read", 1);
values.put("date", HERE I MUST PUT A DATE IN MILLISECONDS);
context.getContentResolver().insert(Uri.parse("content://sms/inbox"), values);
因为我必须花费时间以毫秒计算我必须转换时间,有人知道怎么做?
答案 0 :(得分:24)
最简单的方法是将Date
类型转换为毫秒:
SimpleDateFormat formatter = new SimpleDateFormat("dd.MM.yyyy, HH:mm");
formatter.setLenient(false);
Date curDate = new Date();
long curMillis = curDate.getTime();
String curTime = formatter.format(curDate);
String oldTime = "05.01.2011, 12:45";
Date oldDate = formatter.parse(oldTime);
long oldMillis = oldDate.getTime();
答案 1 :(得分:3)
使用您的日期对象并致电date.getTime()
答案 2 :(得分:0)
如果您想要以毫秒为单位的当前时间,请使用System.currentTimeMillis()
答案 3 :(得分:0)
使用.getMillis();
例如:
DateTime dtDate = new DateTime();
dtDate.getMillis()
答案 4 :(得分:0)
String Date = "Tue Apr 25 18:06:45 GMT+05:30 2017";
SimpleDateFormat sdf = new SimpleDateFormat("EEE MMM dd HH:mm:ss z yyyy");
try {
Date mDate = sdf.parse(Date);
long timeInMilliseconds = mDate.getTime();
} catch (ParseException e) {
e.printStackTrace();
}
答案 5 :(得分:0)
使用此方法,您可以将日期转换为毫秒,以便将事件添加到日历中
public Long GettingMiliSeconds(String Date)
{
long timeInMilliseconds = 0;
SimpleDateFormat sdf = new SimpleDateFormat("EEE MMM dd HH:mm:ss z yyyy");
try {
Date mDate = sdf.parse(Date);
timeInMilliseconds = mDate.getTime();
} catch (ParseException e) {
e.printStackTrace();
}
return timeInMilliseconds;
}
答案 6 :(得分:0)
我建议您使用现代Java日期和时间API java.time进行日期和时间工作。
ZoneId zone = ZoneId.systemDefault();
DateTimeFormatter formatter = DateTimeFormatter.ofPattern("dd.MM.uuuu, H:mm");
String dateTimeString = "12.03.2012, 17:31";
LocalDateTime dateTime = LocalDateTime.parse(dateTimeString, formatter);
long milliseconds = dateTime.atZone(zone).toInstant().toEpochMilli();
System.out.println(milliseconds);
当我在欧洲/苏黎世时区运行此命令时,输出为:
1331569860000
java.time在较新和较旧的Android设备上均可正常运行。它只需要至少 Java 6 。
org.threeten.bp
导入日期和时间类。java.time
。java.time
向Java 6和7(JSR-310的ThreeTen)的反向端口。