相关疑难解决方法(0)

在joda时间如何在不改变时间的情况下转换时区

我从数据库获取UTC时间戳,我正在设置为JodaTime DateTime实例

DateTime dt = new DateTime(timestamp.getTime());
Run Code Online (Sandbox Code Playgroud)

它存储时间完美,10:00 AM但与当地时区.例如,我在IST时区,距离UTC +5:30

我已经尝试了很多改变时区的东西,但是10:00 AM通过使用+5:30的不同,它可以将时间从其他东西改变为其他东西

有什么办法可以在不影响当前时间的情况下更改TimeZone

编辑:如果我现在的时间是:

2013-09-25 11:27:34 AM      UTC
Run Code Online (Sandbox Code Playgroud)

以下是我使用它时的结果 new DateTime(timestamp.getTime());

2013-09-25 11:27:34 AM  Asia/Kolkata
Run Code Online (Sandbox Code Playgroud)

以下是我使用时的结果new DateTime(timestamp.getTime(), DateTimeZone.UTC);

2013-09-25 05:57:34 AM  UTC
Run Code Online (Sandbox Code Playgroud)

java datetime jodatime

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

推荐用于Joda-Time的DateMidnight

LocalDate#toDateMidnight读取的javdoc 如下:

从v1.5开始,建议您避免使用DateMidnight并使用toDateTimeAtStartOfDay(),因为下面有详细说明.

如果默认时区在午夜切换到夏令时,则此方法将引发异常,此LocalDate表示该切换日期.问题是在所需的日期没有午夜这样的时间,因此抛出了这样的例外.

在某些时区中不存在午夜这一事实似乎足以避免DateMidnight完全使用(假设您的代码没有使用已知不具有此DST情况的固定时区,并且永远不需要在其中使用不同的时区未来).

但是,DateMidnight不会弃用,并且DateMidnight类本身的javadoc中没有类似的建议或警告.此外,DateMidnight构造函数愉快地接受即时和时区,使得在给定的一天不存在午夜,而不是投掷IllegalArgumentException类似的LocalDate#toDateMidnight.结果DateMidnight表现为DateTime在一天开始时的时间.

当某个特定日期不存在午夜时,为什么LocalDate#toDateMidnightDateMidnight构造函数没有的情况下抛出异常?推荐的用例是DateMidnight什么?

java date jodatime

39
推荐指数
4
解决办法
2万
查看次数

获取给定时区的当前时间:android

我是Android的新手,我目前面临的问题是获得时区的当前时间.

我以"GMT-7"格式得到时区,即字符串.我有系统时间.

有没有一种干净的方法来获得上述时区的当前时间?任何帮助表示赞赏.谢谢,

编辑:尝试这样做:

public String getTime(String timezone) {
    Calendar c = Calendar.getInstance();
    c.setTimeZone(TimeZone.getTimeZone(timezone));
    Date date = c.getTime();
    SimpleDateFormat df = new SimpleDateFormat("dd/MM/yyyy");
    String strDate = df.format(date);
    return c.getTime().toString();
}
Run Code Online (Sandbox Code Playgroud)

java android android-date

16
推荐指数
6
解决办法
4万
查看次数

标签 统计

java ×3

jodatime ×2

android ×1

android-date ×1

date ×1

datetime ×1