相关疑难解决方法(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-ld31(正如我所期望的那样,在时间上只有一秒钟的差异),但是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-ld31.


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万
查看次数

将Date对象转换为日历对象

所以我从表单中的传入对象获取日期属性:

Tue May 24 05:05:16 EDT 2011
Run Code Online (Sandbox Code Playgroud)

我正在编写一个简单的帮助方法将其转换为日历方法,我使用以下代码:

    public static Calendar DateToCalendar(Date date ) 
{ 
 Calendar cal = null;
 try {   
  DateFormat formatter = new SimpleDateFormat("yyyyMMdd");
  date = (Date)formatter.parse(date.toString()); 
  cal=Calendar.getInstance();
  cal.setTime(date);
  }
  catch (ParseException e)
  {
      System.out.println("Exception :"+e);  
  }  
  return cal;
 }
Run Code Online (Sandbox Code Playgroud)

为了模拟传入的对象,我只是在当前使用的代码中分配值:

private Date m_lastActivityDate = new Date();
Run Code Online (Sandbox Code Playgroud)

然而,一旦该方法到达,这将给我一个空指针:

date = (Date)formatter.parse(date.toString()); 
Run Code Online (Sandbox Code Playgroud)

java calendar date nullpointerexception

186
推荐指数
2
解决办法
32万
查看次数

如何在Android Project中使用ThreeTenABP

我正在添加这个问题,因为我是Java和Android的新手,我搜索了几个小时试图解决这个问题.答案来自相关答案的组合,所以我想我会记录我为其他可能正在努力的人学到的东西.见答案.

对于一些背景知识,我的经验主要是PHP的Web开发和一点Ruby.我唯一的操作系统是Linux(Ubuntu Studio),我(不情愿地)在Android Studio 2.1.2中开发我的第一个Android应用程序.我的Java设置如下:

>java -version
> openjdk version "1.8.0_91"
> OpenJDK Runtime Environment (build 1.8.0_91-8u91-b14-3ubuntu1~15.10.1-b14)
> OpenJDK 64-Bit Server VM (build 25.91-b14, mixed mode)
Run Code Online (Sandbox Code Playgroud)

datetime android android-gradle-plugin threetenbp threetenabp

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

Java程序获取没有时间戳的当前日期

我需要一个Java程序来获取没有时间戳当前日期:

Date d = new Date();
Run Code Online (Sandbox Code Playgroud)

给我日期和时间戳.

但我只需要日期,没有时间戳.我使用此日期与另一个没有时间戳的日期对象进行比较.

在印刷上

System.out.println("Current Date : " + d)
Run Code Online (Sandbox Code Playgroud)

它应该打印May 11 2010 - 00:00:00.

java

15
推荐指数
4
解决办法
13万
查看次数

在java中将dateTime转换为dd/MM/yy格式的日期

我有一个JODA DateTime 2012-12-31T13:32:56.483+13:00.我想将它转换为日期dd/MM/yy格式.所以我期待代码返回日期,如 - 2012年12月31日.

代码 -

    // Input dateTime = 2012-12-31T13:32:56.483+13:00
    SimpleDateFormat simpleDateFormat = new SimpleDateFormat("dd/MM/yy");
    Date date = simpleDateFormat.parse(dateTime.toString("dd/MM/yy"));
Run Code Online (Sandbox Code Playgroud)

结果:

Output - Mon Dec 31 00:00:00 NZDT 2012
Expected Output - 31/12/12
Run Code Online (Sandbox Code Playgroud)

当我执行以下操作时,我得到了预期的输出,但我不知道如何将其转换为Date-

String string = simpleDateFormat.format(date); 
Run Code Online (Sandbox Code Playgroud)

请帮我.

谢谢

编辑 - 我希望我的最终结果是以dd/MM/yy格式的Util Date.我不想要String输出.我的输入是Joda DateTime yyyy-MM-ddThh:mm:ss:+ GMT.我需要将JodaDateTime转换为UtilDate.

java datetime date

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

如何创建没有时间戳的java日期对象

我想创建一个没有TimeZone的Date对象(例如:) 2007-06-21.这可能吗?

当我使用以下方法打印时Thu Jun 21 00:00:00 GMT 2007

SimpleDateFormat  sdf       = new SimpleDateFormat("yyyy-MM-dd");

TimeZone          timeZone  = TimeZone.getTimeZone("GMT");
timeZone.setDefault(timeZone);
sdf.setTimeZone(timeZone);

Date              pickUpDate = sdf.parse("2007-06-21");
System.out.println(pickUpDate);
Run Code Online (Sandbox Code Playgroud)

java timezone date simpledateformat

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

根据区域设置格式化日期,然后获取日期部分

我想实现的是一个日期转换格式yyyyMMdd,以本地格式,即yyyy/MM/dddd/MM/yyyy等.我不感兴趣的部分时间,我只是需要时间.

该函数将采用字符串日期并以区域设置格式返回字符串日期.

我现在拥有的是:

dateFormat = new SimpleDateFormat("yyyyMMdd", Locale.getDefault());
convertedDate = dateFormat.parse("20120521");
Run Code Online (Sandbox Code Playgroud)

我之后尝试的所有东西要么返回一个带有时间和GMT等的长字符串,要么是我传递给函数的相同字符串.

java date

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