相关疑难解决方法(0)

为什么减去这两次(在1927年)给出一个奇怪的结果?

如果我运行以下程序,它解析引用时间间隔为1秒的两个日期字符串并比较它们:

public static void main(String[] args) throws ParseException {
    SimpleDateFormat sf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");  
    String str3 = "1927-12-31 23:54:07";  
    String str4 = "1927-12-31 23:54:08";  
    Date sDt3 = sf.parse(str3);  
    Date sDt4 = sf.parse(str4);  
    long ld3 = sDt3.getTime() /1000;  
    long ld4 = sDt4.getTime() /1000;
    System.out.println(ld4-ld3);
}
Run Code Online (Sandbox Code Playgroud)

输出是:

353

为什么ld4-ld3不1(正如我所期望的那样,在时间上只有一秒钟的差异),但是353?

如果我将日期更改为1秒后的时间:

String str3 = "1927-12-31 23:54:08";  
String str4 = "1927-12-31 23:54:09";  
Run Code Online (Sandbox Code Playgroud)

然后ld4-ld3会1.


Java版本:

java version "1.6.0_22"
Java(TM) SE Runtime Environment (build 1.6.0_22-b04) …
Run Code Online (Sandbox Code Playgroud)

java timezone date

6628
推荐指数
9
解决办法
63万
查看次数

解析带有空格的String到Date,导致ParseException

我有这种形式的日期字符串 Thu Aug 02 00:00:00 GMT+00:00 2012

我试图使用此方法来解析Date对象中的这些String

public Date fromStringToDate(String data) {
        Date result;
        SimpleDateFormat sdf = new SimpleDateFormat("yyyy MM dd HH:mm:ss");
        try {
            result = sdf.parse(data);
            return result;
        } catch (ParseException e) {
            e.printStackTrace();
            return null;
        }
    }
Run Code Online (Sandbox Code Playgroud)

但是没有用,我得到了这个错误

java.text.ParseException: Unparseable date: "Thu Aug 02 00:00:00 GMT+00:00 2012"
Run Code Online (Sandbox Code Playgroud)

我认为问题是由错误引起的SimpleDateFormat,但我不知道正确的语法来修复它.

java android date simpledateformat

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

标签 统计

date ×2

java ×2

android ×1

simpledateformat ×1

timezone ×1