标签: jodatime

将LocalDate转换为LocalDateTime或java.sql.Timestamp

我正在使用JodaTime 1.6.2.

我有一个LocalDate我需要转换为(Joda)LocalDateTimejava.sqlTimestampfor ormapping.

原因是我已经想出如何在a LocalDateTime和a 之间进行转换java.sql.Timestamp:

LocalDateTime ldt = new LocalDateTime();
DateTimeFormatter dtf = DateTimeFormatter.forPattern("yyyy-MM-dd HH:mm:ss");
Timestamp ts = Timestamp.valueOf(ldt.toString(dtf));
Run Code Online (Sandbox Code Playgroud)

所以,如果我可以相互转换LocalDateLocalDateTime的话,我可以让继续转换java.sql.Timestamp.感谢任何正确方向的推动!

java timestamp jodatime

112
推荐指数
5
解决办法
17万
查看次数

如何使用JodaTime获取特定月份的最后日期?

我需要得到org.joda.time.LocalDate一个月的第一个日期和最后一个日期.获得第一个是微不足道的,但是获得最后一个似乎需要一些逻辑,因为几个月有不同的长度,二月长度甚至变化多年.是否有一个已经内置于JodaTime的机制或者我应该自己实现它?

java scala jodatime

108
推荐指数
1
解决办法
5万
查看次数

字符串到LocalDate

如何将字符串转换为LocalDate

我见过的例子如下:

LocalDate dt = new LocalDate("2005-11-12");
Run Code Online (Sandbox Code Playgroud)

但我的字符串如下:

2005-nov-12
Run Code Online (Sandbox Code Playgroud)

java jodatime

92
推荐指数
5
解决办法
16万
查看次数

使用Scala使用Joda Time进行类破坏的错误

我正在将Joda Time存储库添加到SBT中

libraryDependencies ++= Seq(
  "joda-time"         % "joda-time"           % "2.1"
)
Run Code Online (Sandbox Code Playgroud)

然后我喜欢这样使用它:

 val ymd = org.joda.time.format.DateTimeFormat.forPattern("yyyyMMdd")
  ymd.parseDateTime("20121212")
Run Code Online (Sandbox Code Playgroud)

但是,当我在SBT编译项目时,我感到很讨厌:

[warn] Class org.joda.convert.FromString not found - continuing with a stub.
[warn] Caught: java.lang.NullPointerException while parsing annotations in /home/jack/.ivy2/cache/joda-time/joda-time/jars/joda-time-2.1.jar(org/joda/time/DateTime.class)
[error] error while loading DateTime, class file '/home/jack/.ivy2/cache/joda-time/joda-time/jars/joda-time-2.1.jar(org/joda/time/DateTime.class)' is broken
[error] (class java.lang.RuntimeException/bad constant pool tag 10 at byte 42)
Run Code Online (Sandbox Code Playgroud)

我尝试了joda-time的2.0版本,但是得到了同样的错误.

scala jodatime sbt

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

Java中两个日期之间的天数差异?

我需要找到两个日期之间的天数:一个来自报告,一个是当前日期.我的片段:

  int age=calculateDifference(agingDate, today);
Run Code Online (Sandbox Code Playgroud)

calculateDifference是一个私有方法,agingDate并且todayDate对象,仅供您澄清.我已经关注了Java论坛中的两篇文章,即Thread 1/Thread 2.

它在独立程序中运行良好,但是当我将其包含在我的逻辑中以从报告中读取时,我会得到一个不寻常的值差异.

为什么会发生这种情况?我该如何解决?

编辑:

与实际天数相比,我获得的天数更多.

public static int calculateDifference(Date a, Date b)
{
    int tempDifference = 0;
    int difference = 0;
    Calendar earlier = Calendar.getInstance();
    Calendar later = Calendar.getInstance();

    if (a.compareTo(b) < 0)
    {
        earlier.setTime(a);
        later.setTime(b);
    }
    else
    {
        earlier.setTime(b);
        later.setTime(a);
    }

    while (earlier.get(Calendar.YEAR) != later.get(Calendar.YEAR))
    {
        tempDifference = 365 * (later.get(Calendar.YEAR) - earlier.get(Calendar.YEAR));
        difference += tempDifference;

        earlier.add(Calendar.DAY_OF_YEAR, tempDifference);
    } …
Run Code Online (Sandbox Code Playgroud)

java datediff jodatime

81
推荐指数
7
解决办法
19万
查看次数

在Joda-Time DateTime中添加一天

我有约会Wed May 08 00:00:00 GMT+06:30 2013.我使用像这样的Joda-Time DateTime添加一天.

DateTime dateTime = new DateTime(date);
dateTime.plusDays(1);
Run Code Online (Sandbox Code Playgroud)

当我打印dateTime时,我得到了这个日期2013-05-08T00:00:00.000+06:30.joda约会时间没有增加一天.我没有发现任何错误.

谢谢

java datetime jodatime

77
推荐指数
2
解决办法
6万
查看次数

使用Joda Date&Time API来解析多种格式

我正在使用Joda解析包含日期/时间的第三方日志文件.日期/时间是两种不同格式之一,具体取决于我正在解析的日志文件的年龄.

目前我的代码如下:

try {
    return DateTimeFormat.forPattern("yyyy/MM/dd HH:mm:ss").parseDateTime(datePart);
} catch (IllegalArgumentException e) {
    return DateTimeFormat.forPattern("E, MMM dd, yyyy HH:mm").parseDateTime(datePart);
}
Run Code Online (Sandbox Code Playgroud)

这有效但违反了Joshua Bloch关于Effective Java 2nd Edition的建议(第57项:仅在特殊条件下使用例外).它还使得很难确定是否由于日志文件中的日期/时间搞乱而发生IllegalArgumentException.

你能否提出一个不会滥用例外的更好的方法?

java parsing exception jodatime

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

如何用Joda-Time计算从现在开始的经过时间?

我需要计算从特定日期到现在所用的时间,并以与StackOverflow问题相同的格式显示它,即:

15s ago
2min ago
2hours ago
2days ago
25th Dec 08
Run Code Online (Sandbox Code Playgroud)

您知道如何使用Java Joda-Time实现它吗?是否有一个已经实现它的辅助方法,或者我应该自己编写算法?

java algorithm grails datetime jodatime

69
推荐指数
4
解决办法
3万
查看次数

67
推荐指数
2
解决办法
7万
查看次数

如何在java.sql.Timestamp中使用Joda-Time

我有一份准备好的声明

INSERT INTO mst(time) VALUES (?);
Run Code Online (Sandbox Code Playgroud)

其中时间是类型的时间戳的PostgreSQL数据库.
我正在插入一个Joda-Time DateTime对象,或者我应该说我正在尝试.我找不到将DateTime对象转换为java.sql.Timestamp的方法.我已经阅读了Joda-Time文档并且没有参考这个.

谢谢.

java postgresql timestamp jodatime

62
推荐指数
2
解决办法
6万
查看次数