标签: simpledateformat

Java SimpleDateFormat和19700101转换问题

我在java中的日期转换有一点问题.当我把19700101放到SimpleDateFormat然后调用getTime时我得到-3600000.我写测试:

SimpleDateFormat dateFormat = new SimpleDateFormat("yyyyMMdd");
Date date = dateFormat.parse("19700101");
System.out.println(date.getTime());
System.out.println(dateFormat.format(new Date(0)));
System.out.println((new Date(0)).getTime());
Run Code Online (Sandbox Code Playgroud)

结果应该是:

0
19700101
0
Run Code Online (Sandbox Code Playgroud)

但我得到了

-3600000
19700101
0
Run Code Online (Sandbox Code Playgroud)

我的问题是为什么SimpleDateFormat返回-3600000(20Nov1969)?我在哪里可以找到有关格式化和转换错误的信息?

java simpledateformat

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

将字符串"2011-12-20 16:08:23"格式化为Date对象

我必须使用什么样的字符串这个字符串cos不起作用:

SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd' 'HH:mm:ss");
Run Code Online (Sandbox Code Playgroud)

java simpledateformat

0
推荐指数
2
解决办法
84
查看次数

简单日期格式无法正确格式化

我正在编写一个程序,需要能够使用java.util.date格式找到两个日期之间的差异.我正在使用SimpleDateFormat类来解析字符串输入,但它似乎解析错误.这是我的代码.我感谢任何帮助

SimpleDateFormat s = new SimpleDateFormat("yyyy/mm/dd");
Date startDate = s.parse(dateField.getText()); //input is 2012/03/10
System.out.println(START_DATE);//output is Tue Jan 10 00:03:00 MST 2012      
Run Code Online (Sandbox Code Playgroud)

java simpledateformat

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

SimpleDateFormat的结果不正确

我想转换Tue Jun 01 00:00:00 IST 11201-JUN-2012

我用了

 Calendar calendar = new GregorianCalendar(year, 6, Calendar.DAY_OF_MONTH); 
     Date maxDate=new Date();
     maxDate=calendar.getTime();  
     calendar.set(Calendar.DAY_OF_MONTH, calendar.getActualMinimum(Calendar.DAY_OF_MONTH)); 
      SimpleDateFormat s=new SimpleDateFormat("dd-mmm-yyyy");
       s.format(maxDate);
Run Code Online (Sandbox Code Playgroud)

但我明白了 30-000-0112

java datetime date simpledateformat

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

SimpledateFormat的解析方法java

这是一个愚蠢的问题,但我看不出我做错了什么.我想解析一个像24:00日期对象的字符串.我知道如果我们使用kk:mm日期格式,时间将是从01:00到24:00(来自API).但我不能让下面的代码工作.

String test = "24:00";
System.out.println("TEST: " + new SimpleDateFormat("kk:mm").parse(test));
Run Code Online (Sandbox Code Playgroud)

输出:

TEST: Thu Jan 01 00:00:00 GMT 1970
Run Code Online (Sandbox Code Playgroud)

预期产量:

TEST: Thu Jan 01 24:00:00 GMT 1970
Run Code Online (Sandbox Code Playgroud)

编辑:

System.out.println("TEST: " + new SimpleDateFormat("k:mm:ss").format(new SimpleDateFormat("k:mm:ss").parse(test)));
Run Code Online (Sandbox Code Playgroud)

这打印 TEST: Thu Jan 01 24:00:00 GMT 1970

但解析时为什么不呢?

任何帮助是极大的赞赏

java parsing date date-format simpledateformat

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

Unparsable Date java.text.ParseException:Unparseable date:"2015-10-08 05:00:00.0"

我有以下操作,它应该以指定的格式解析日期.但它不会解析并抛出不可解析的异常.有人可以纠正我错在哪里.该字段是TimeStamp,DB是Oracle.

private XMLGregorianCalendar stringToXMLGregorianCalendar(String s)
    throws DatatypeConfigurationException, ParseException {
XMLGregorianCalendar result = null;
Date date = null;
SimpleDateFormat simpleDateFormat;
GregorianCalendar gregorianCalendar;

simpleDateFormat = new SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ss");
try {
    date = simpleDateFormat.parse(s);
    gregorianCalendar = (GregorianCalendar) GregorianCalendar
            .getInstance();
    gregorianCalendar.setTime(date);
    result = DatatypeFactory.newInstance().newXMLGregorianCalendar(
            gregorianCalendar);

} catch (java.text.ParseException e) {
    // TODO Auto-generated catch block
    e.printStackTrace();
}
Run Code Online (Sandbox Code Playgroud)

java database date simpledateformat

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

我得到SimpleDateFormat.parse()的意外输出.

当我执行以下代码时

    SimpleDateFormat sdf=new SimpleDateFormat("dd/MM/YYYY");

    Date today=new Date();

    String olddate="03/11/2016";
    System.out.println(sdf.parse(olddate));
Run Code Online (Sandbox Code Playgroud)

为什么结果显示在2015年12月27日00:00:00.

但是我期待2016年11月3日00:00:00 IST 2016.

任何人都可以请解释.我怎样才能获得所需的输出.

java simpledateformat

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

simpledateformat更改时区

我对时间格式转换有奇怪的问题。

我有string,时间=“ 11:00”

我必须将上述字符串转换为日期,并且正在执行以下操作:

Calendar cal= Calendar.getInstance();
cal.setTime(Convert.fromShortTime(timeIn)); // this method is below

public static SimpleDateFormat SHORT_TIME = new SimpleDateFormat("HH:mm");

public static Date fromShortTime(String shortTime)
{
    try {
        return shortTime == null ? null : SHORT_TIME.parse(shortTime);
    } catch (ParseException e) {
        return null;
    }
}
Run Code Online (Sandbox Code Playgroud)

所以cal.setTime(Convert.fromShortTime(timeIn)); 将该值更改为:Thu Jan 01 10:00:00 PST 1970(比字符串少1小时)。

我的笔记本电脑时间是山区时间,设备时间是太平洋时间。如果我将笔记本电脑的时间更改为太平洋时间,则可以正常工作。

我想知道为什么Android Studio的笔记本电脑时间会影响SimpledateFormat?

java time android simpledateformat

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

Scala中两个时间戳之间的秒数差异

所以我有这样的时间戳:

1990-10-31 18:43:12

我想计算这两个时间戳之间的差异。

我尝试过的是:

val t1 = new java.text.SimpleDateFormat("yyyy-mm-dd HH:mm:ss")
val t2 = new java.text.SimpleDateFormat("yyyy-mm-dd HH:mm:ss")
t1.parse(timestamp1)
t2.parse(timestamp2)
Run Code Online (Sandbox Code Playgroud)

但是我该怎么办?

scala simpledateformat

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

来自比较器的未处理异常类型ParseException

我需要对String表示日期的列表进行排序.

我尝试了以下代码:

try {
    SimpleDateFormat sdf = new SimpleDateFormat("YYYY-MM-dd");
    Collections.sort(days,
            (s1, s2) -> sdf.parse(s1).compareTo(sdf.parse(s2)));
} catch (ParseException e) {
    e.printStackTrace();
}
Run Code Online (Sandbox Code Playgroud)

但在Eclipse中我得到编译时错误sdf.parse(s1):

未处理的异常类型 ParseException

有解决方案吗

我的输入列表是:

[2016-01-02, 2016-01-03, 2016-01-01]
Run Code Online (Sandbox Code Playgroud)

java sorting compiler-errors date simpledateformat

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