我该怎么做?我尝试了很多,但是无法正常工作。
public static String getDateTime() {
String dateStr = "";
Calendar cal = Calendar.getInstance();
Date date = cal.getTime();
DateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
dateStr = dateFormat.format(date);
return dateStr;
}
请其他人纠正从上述日期格式返回毫秒的另一种方法。当然!在我的数据库中,我存储以下值:2019-04-17 17:11:02->我希望使用一种方法将此值转换为毫秒。这样我就调用新方法并传递该变量值。
答案 0 :(得分:1)
尝试:-
long timeInMilliseconds = 0;
String givenDateString = "2019-04-17 17:11:02";
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
try {
Date mDate = sdf.parse(givenDateString);
timeInMilliseconds = mDate.getTime();
} catch (ParseException e) {
e.printStackTrace();
}
String timeInMilliseconds = String.valueOf(timeInMilliseconds);
答案 1 :(得分:1)
public static long milisecondsFromDate(String dateStr) {
SimpleDateFormat formatter = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
try {
Date date = formatter.parse(dateStr);
return date.getTime();
} catch (Exception e) {
Log.e("Tag", "Wrong date Format");
}
return -1;
}
答案 2 :(得分:1)
出于您的原因,我强烈建议使用Java8日期/时间API,例如:
public static void main(String[] args) {
System.out.println(getDateTime());
}
public static String getDateTime() {
String dateStr = "2019-04-17 17:11:02";
DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss", Locale.ENGLISH);
LocalDateTime localDateTime = LocalDateTime.parse(dateStr, formatter);
return String.valueOf(localDateTime.toInstant(ZoneOffset.UTC).getEpochSecond());
}