当前位置: 首页 > 面试题库 >

如何在Joda-Time中正确获取当前日期和时间?

邬博涉
2023-03-14
问题内容

如何正确获取Joda Time中的实际日期和时间?正确地说,我的意思是在我国的时间。我阅读了官方页面和一些教程-
关于语言环境和时区的很多事情,但我感到很困惑。我没有找到如何简单地获得它的任何示例。

我有两件事需要它:

  1. 要获取最新信息以供讨论,
  2. 要获取当前时间,我将其与出生日期进行“比较”并计算年龄。

当我拥有UTC + 1(布拉格-捷克共和国)时,如何设置当前时间?


问题答案:

这是Joda Time的伪代码,可能对您有用。

import org.joda.time.*;
import org.joda.time.format.DateTimeFormat;
import org.joda.time.format.DateTimeFormatter;

public class JodaTimeExample {

    public static void main(String[] sm) {
        DateTimeFormatter dateFormat = DateTimeFormat
                .forPattern("G,C,Y,x,w,e,E,Y,D,M,d,a,K,h,H,k,m,s,S,z,Z");

        String dob = "2002-01-15";
        LocalTime localTime = new LocalTime();
        LocalDate localDate = new LocalDate();
        DateTime dateTime = new DateTime();
        LocalDateTime localDateTime = new LocalDateTime();
        DateTimeZone dateTimeZone = DateTimeZone.getDefault();

        System.out
                .println("dateFormatr : " + dateFormat.print(localDateTime));
        System.out.println("LocalTime : " + localTime.toString());
        System.out.println("localDate : " + localDate.toString());
        System.out.println("dateTime : " + dateTime.toString());
        System.out.println("localDateTime : " + localDateTime.toString());
        System.out.println("DateTimeZone : " + dateTimeZone.toString());
        System.out.println("Year Difference : "
                + Years.yearsBetween(DateTime.parse(dob), dateTime).getYears());
        System.out.println("Month Difference : "
                + Months.monthsBetween(DateTime.parse(dob), dateTime)
                        .getMonths());
    }
}

DateTimeFormat格式器的链接

乔达时间API

我希望这能帮到您。如果您有任何疑问,请告诉我。

PS:感谢Sumit Arora提供的输出。

dateFormatr : AD,20,2016,2016,26,2,Tue,2016,180,6,28,PM,8,8,20,20,25,20,2,‌​, 
LocalTime : 20:25:17.308 
localDate : 2016-06-28 
dateTime : 2016-06-28T20:25:18.872+05:30 
localDateTime : 2016-06-28T20:25:20.260 
DateTimeZone : Asia/Kolkata 
Year Difference : 14 
Month Difference : 173


 类似资料:
  • 问题内容: 我想获取两个日期之间的所有夏令时(DST)小时。 这是我的示例代码: 好吧,我显然缺少一些东西,但是我无法发现我的错误。 问题答案: 主要问题是您 无法指定时区 。 当我在西雅图的此处运行您的代码时,我会在2014年3月获得工作时间。为什么?由于我的默认时区。在美国西海岸的夏令时开始于2014年3月9日,星期日,02:00。参见本页,2014年时间更改日期。因此,第9天实际上是23小时

  • 问题内容: 如何使用Java获取当前日期和时间? 我正在寻找与C#等效的东西。 问题答案: 只需构造一个没有任何参数的新对象即可;这会将当前日期和时间分配给新对象。 在的话的Javadoc的无参数的构造函数: 分配一个Date对象并对其进行 初始化,以便它表示分配它的时间( 以最近的毫秒为单位)。 确保您使用的不是-后者没有零参数构造函数,并且语义有所不同,这是完全不同的对话的主题。:)

  • 问题内容: 是否可以在手动查询中使用诸如DATETIME之类的值或命令来插入当前日期和时间? 末尾引用的DATETIME值是我要添加当前日期和时间的位置。 问题答案: 您可以使用:

  • 问题内容: 要插入到列中。我正在使用 数据库。我的问题是: SQL中有可用的功能吗?或者 它取决于实现,因此每个数据库对此都有自己的功能? MySQL中可用的功能是什么? 问题答案: 完整答案: 1. SQL中有可用的功能吗? 是的,SQL 92规范,97年10月,第pg。171第6.16节指定了以下功能: 2.它是依赖于实现的,因此每个数据库对此都有自己的功能吗? 每个数据库都有其自己的实现,但

  • 问题内容: 我有一个可在JavaScript中显示当前日期和时间的脚本,但这始终是错误的。这是代码: 它应该打印并打印 有什么帮助吗?谢谢 问题答案: 返回一个从零开始的数字,以便获得正确的月份,您需要将其加1,因此调用in可能会返回而不是。 因此,在您的代码中,我们可以用来输出正确的值。此外: 返回月中的某天 < -这是您想要的*那一天 * 是对象的单独方法,它将返回代表星期几(0-6)等的整数

  • 问题内容: 我创建了一个android应用,在此应用中,用户可以保存一些任务。这些任务将保存在设备中,并且当用户上线时,任务将同步到服务器。用户保存任务时,我需要知道正确的日期和时间。诸如或返回设备时间之类的代码,如果设备时间不正确,则任务会以错误的日期保存。这个应用程式必须离线运作,这一点很重要。并且由于该应用程序的冗长性,用户可能有意更改设备时间。对不起,我的英语不好。 问题答案: 因此,我最