我知道这个问题看起来像是FAQ主题,但关键是时区和性能。我有整数YYYYMMDD日期(例如20150131)。这是一个很好的“几乎可以工作”的解决方案:
import org.joda.time.DateTime;
import java.util.Date;
// ...
public Date extract(final int intDate) {
Date result = null;
try {
result = new DateTime(
intDate / 10000,
(intDate / 100) % 100,
intDate % 100,
0,
0,
0,
0).toDate();
} catch (final IllegalArgumentException e) {
// Log failure
}
return result;
}
“几乎”是因为我收到0x0126810d和EET(UTC + 2 / DST时为+3)时区,我收到:
java.lang.IllegalArgumentException:由于时区偏移转换而导致的非法瞬间:1930-06-20T22:00:00.000
至少使用JODA 1.6。我不能轻易切换。但我希望成为这样,1930-06-21T00:00:00.000+02:00
并且我不在乎UTC的表示形式。
java.util.date
存储这样的日期)?是的,我知道这一次不存在:
roman@node4:$ zdump -v Europe/Kiev | grep 1930
Europe/Kiev Fri Jun 20 21:59:59 1930 UTC = Fri Jun 20 23:59:59 1930 EET isdst=0 gmtoff=7200
Europe/Kiev Fri Jun 20 22:00:00 1930 UTC = Sat Jun 21 01:00:00 1930 MSK isdst=0 gmtoff=10800
好的,最后得到了以下片段,它的工作与我的期望最接近。像SDF一样,但是速度快了很多倍-就像没有字符串解析只是为了获取数字一样:
import org.joda.time.DateTime;
import org.joda.time.LocalDate;
public static Date toDateJoda(int intDate) {
LocalDate ldt = new LocalDate(
intDate / 10000,
(intDate / 100) % 100,
intDate % 100);
DateTime dt = ldt.toDateTimeAtStartOfDay();
return dt.toDate();
}
解析所有内容,并为我的案例获取下一个有效日期/时间。
每次需要整数数组时,我都会使用以下代码: 我使用BufferedReader而不是Scanner来降低输入过程中的时间复杂度。然而,当数组大小相对较大时,我想知道这种方法是否比Scanner有效(
问题内容: Python和Matlab经常具有如下所示的整数日期表示形式: 733828.0 733829.0 733832.0 733833.0 733834.0 733835.0 733836.0 733839.0 733840.0 733841.0 这些数字对应于今年的某些日期。你们知道哪个功能可以将它们转换回YYYYMMDD格式吗? 太感谢了! 问题答案: 该课程可以为您提供帮助。如果将这
我已经用FileBeat设置了ELK&我将日志转发到弹性搜索,重写@timestamp字段到日志文件中的时间。下面是它的logstash.conf文件 在上面,我尝试使用以下方法将时间戳的时区设置为IST 但我发现了错误 这是为了避免kibana将时间戳转换为我的本地时区,因为时间戳已经在本地时区IST中。 有人能告诉我如何为时间戳设置IST时区或者设置kibana不将时间戳转换为我的本地时区吗?
问题内容: 我将日期以这种格式存储在SQLite数据库中: 当我以这种格式检索日期时,除小时外,其他一切都很好。时间总是如此。这是我的输出: 这是代码: 我究竟做错了什么? 问题答案: 我认为您的日期格式没有意义。没有13:00 PM。删除格式末尾的“ aaa”,或将HH转换为hh。 不过,这对我来说很好: 它将打印“ 2010年4月29日星期四CEST”。
问题内容: 将对象转换为新的JDK 8 / JSR-310 的最佳方法是什么? 问题答案: 说明 尽管有名称,它代表时间轴上的一个瞬间,而不是“日期”。存储在对象中的实际数据是自1970-01-01T00:00Z(1970 GMT / UTC开始的午夜)以来的毫秒数。 中的等效类是,因此有一种方便的方法可以提供转换: 一个实例没有时区的概念。如果调用,这可能看起来很奇怪,因为相对于时区。但是,该方
问题内容: 我想将对象转换为 Java。 格式为 问题答案: 转换日期为字符串使用方法: