Преобразовать строку Date в timestamp в Android?
Я хочу преобразовать свою дату (которая находится в формате String), например. 13-09-2011, по метке. Я использовал ниже код, но я получил 2011-09-13 00: 00: 00.0
в результате. Но я хочу, чтобы формат Timestamp как, 1312828200000.
Я не могу понять, как его преобразовать.
Мой код:
String str_date="13-09-2011";
DateFormat formatter ;
Date date ;
formatter = new SimpleDateFormat("dd-MM-yyyy");
date = (Date)formatter.parse(str_date);
java.sql.Timestamp timeStampDate = new Timestamp(date.getTime());
System.out.println("Today is " +timeStampDate);
Ответы
Ответ 1
Если вы используете getTime()
объекта Date
, вы получите время в миллисекундах.
Не нужно использовать Timestamp
, чтобы получить результат.
String str_date="13-09-2011";
DateFormat formatter = new SimpleDateFormat("dd-MM-yyyy");
Date date = (Date)formatter.parse(str_date);
System.out.println("Today is " +date.getTime());
Приведенный выше код напечатает что-то вроде 1312828200000
, которое вам нужно, и это длинное значение.
Ответ 2
String str_date=month+"-"+day+"-"+yr;
DateFormat formatter = new SimpleDateFormat("MM-dd-yyyy");
Date date = (Date)formatter.parse(str_date);
long output=date.getTime()/1000L;
String str=Long.toString(output);
long timestamp = Long.parseLong(str) * 1000;
Ответ 3
Эта строка:
"Today is " +timeStampDate
вызывает TimeStamp.toString()
метод ", который форматирует временную метку в формате выхода временной метки JDBC. yyyy-mm-dd hh:mm:ss.fffffffff
, где ffffffffff обозначает наносекунды."
TimeStamp, который вы получили внутри, имеет нужное значение. Если вы хотите получить его, чем использовать:
System.out.println("Today is " + timeStampDate.getTime());
String str_date="13-09-2011";
DateFormat formatter ;
Date date ;
formatter = new SimpleDateFormat("dd-MM-yyyy");
date = (Date)formatter.parse(str_date);
java.sql.Timestamp timeStampDate = new Timestamp(date.getTime());
System.out.println("Today is " + timeStampDate.getTime());
Или, если вам не нужен Timestamp
, вы можете напрямую использовать date.getTime()
. Это "Returns the Date as a millisecond value."
:
String str_date="13-09-2011";
DateFormat formatter ;
Date date ;
formatter = new SimpleDateFormat("dd-MM-yyyy");
date = (Date)formatter.parse(str_date);
System.out.println("Today is " + date.getTime());