【问题标题】:yyyy-mm-dd and hh:mm (PM/AM) convert into longyyyy-mm-dd 和 hh:mm (PM/AM) 转换为 long
【发布时间】:2011-11-11 05:53:59
【问题描述】:

我有两个字符串:

String date = "2011-11-11"
String time="11:00 PM" 

我想合并这个日期和时间并将它们转换成一个 long,类似于 System.currentTimeMillis()。

【问题讨论】:

标签: blackberry java-me date-format simpledateformat


【解决方案1】:

试试这个效果很好

 String inputDate=date+" "+time ;;
       long parsedDate = HttpDateParser.parse(inputDate);//inputDate should 2011-12-11 11:10:00 PM" formate
       System.out.println("========================="+parsedDate);
       Date date=new Date(parsedDate);
       SimpleDateFormat date1=new SimpleDateFormat("yyyy-mm-dd hh:mm aa");
       String opdate=date1.format(date);
       System.out.println("========================="+opdate);

【讨论】:

  • 如果字符串时间 = "02:30 PM";我仍然得到 02:30 AM
【解决方案2】:

使用 SimpleDateFormat 并将字符串解析为日期。 当你有 Date 你可以得到 .getTime() 什么是长的

http://download.oracle.com/javase/1.4.2/docs/api/java/text/SimpleDateFormat.html

未经测试!!

String date = "2011-11-11";
String time = "11:00 PM";
String toParse = date + " " + time;

SimpleDateFormat sdf = new SimpleDateFormat("yyyy-mm-dd hh:mm aa");
try {
    Date parse = sdf.parse(toParse);
    parse.getTime();
} catch (ParseException ex) {       
}

【讨论】:

  • 如果你可以使用我的答案,请标记它:-*
  • hi m 过去了“02:30 PM”并且在 o/p m 得到“02:30 AM”有什么问题?
【解决方案3】:
String dateTime = "2011-11-11 " + time;
DateFormat formatter ; 
Date date ; 
formatter = new SimpleDateFormat("dd-MMM-yy HH:MM");
date = (Date)formatter.parse(dateTime ); 
long time = date.getTime();

我在同一行中找到了这个SO post

【讨论】:

    【解决方案4】:
    String date =date+time ;
    SimpleDateFormat fmt = new SimpleDateFormat("MM-dd-yyyy HH:mm");
    Date myDate = fmt.parse(date); 
    
    System.out.println(myDate);  //Mon Jun 04 07:05:00 EDT 2007
    long timestamp = myDate.getTime();
    

    【讨论】:

      猜你喜欢
      • 2017-04-08
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-09-12
      • 1970-01-01
      • 1970-01-01
      • 2015-05-20
      相关资源
      最近更新 更多