相关疑难解决方法(0)

无法使用AM/PM标记解析DateTime-string

我想格式化的字符串如下所示:String datetime ="9/1/10 11:34:35 AM"

以下SimpleDateFormat模式的工作原理:

SimpleDateFormat sdf = SimpleDateFormat("M/d/yy h:mm:ss");
Date d = sdf.parse(datetime);
System.out.println(d);

Output> [Wed Sep 01 11:34:35 CEST 2010]
Run Code Online (Sandbox Code Playgroud)

但是我也需要解析AM/PM标记,当我将其添加到模式时,我收到一个异常.

无效的模式:

SimpleDateFormat sdf = SimpleDateFormat("M/d/yy h:mm:ss a");
Run Code Online (Sandbox Code Playgroud)

我也试过这个也有同样的例外:

SimpleDateFormat sdf = SimpleDateFormat("M/d/yy h:mm:ss aa");
Run Code Online (Sandbox Code Playgroud)

例外:

java.text.ParseException: Unparseable date: "9/1/10 11:34:35 AM"
Run Code Online (Sandbox Code Playgroud)

我查看了http://download.oracle.com/javase/1.4.2/docs/api/java/text/SimpleDateFormat.html#text上的API,但似乎无法找到我做错的地方.

有什么建议?

java simpledateformat

15
推荐指数
2
解决办法
3万
查看次数

从两个Date对象以分钟计算的错误时间,以计算持续时间

我试图以分钟计算两个日期对象之间的持续时间.

我在研究期间从这个 stackoverflow问题中找到了一些灵​​感.通常这似乎是正确的,但我正在经历一个测试用例的有趣行为.

当我运行下面附带的源代码(你可以简单地复制它)时,它返回66分钟而不是(正确的结果)6我目前不明白为什么.也许我现在正在监督一些事情,你能告诉我它是什么吗?

import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Date;
import java.util.Locale;

public class Test {

    private SimpleDateFormat parserSDF = new SimpleDateFormat("MM/dd/yy HH:mm",
            Locale.ENGLISH);

    public static void main(String[] args) {
        Test test = new Test();
        Date begin = test.createDateFromString("10/25/09 1:54");
        Date end = test.createDateFromString("10/25/09 2:00");

        int duration = test.minutesDiff(begin, end);
        //result is 66
        System.out.println(duration);
    }

    public int minutesDiff(Date earlierDate, Date laterDate) {
        if (earlierDate == null || laterDate == null)
            return 0;

        return (int) ((laterDate.getTime() / 60000) - (earlierDate.getTime() …
Run Code Online (Sandbox Code Playgroud)

java time datetime duration date

1
推荐指数
1
解决办法
219
查看次数

标签 统计

java ×2

date ×1

datetime ×1

duration ×1

simpledateformat ×1

time ×1