将字符串日期转换为Android中的时间戳?

kri*_*hna 23 android timestamp

我想将我的日期(以String格式),例如13-09-2011转换为Timestamp.我使用下面的代码,但结果我得到了2011-09-13 00:00:00.0.但是我想要时间戳,如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);
Run Code Online (Sandbox Code Playgroud)

Ras*_*sel 58

如果你使用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());
Run Code Online (Sandbox Code Playgroud)

上面的代码将打印出1312828200000你需要的东西,这是很有价值的.

  • 你好.我的输入为`String dateStr ="26-04-2016 19:45"; DateFormat formatter = new SimpleDateFormat("dd-MM-yyyy kk:mm");`我尝试了你给出的解决方案,但它给出了错误的结果. (3认同)
  • 几个小时"kk"? (3认同)

Kis*_*ore 14

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;
Run Code Online (Sandbox Code Playgroud)

  • 只有这是正确的,否则所有其他答案都会产生不正确的结果 (3认同)