- c - 在位数组中找到第一个零
- linux - Unix 显示有关匹配两种模式之一的文件的信息
- 正则表达式替换多个文件
- linux - 隐藏来自 xtrace 的命令
在 Java 中复制 datetime.datetime.now().toordinal()
的最佳方法是什么?我尝试使用 epoch,但结果相去甚远。
最佳答案
没有任何直接的方法可以使用 Java Time API 查询该信息,但您可以计算它。
public static void main(String[] args) {
long ordinal = LocalDate.now().toEpochDay() + (146097 * 5L) - (31L * 365L + 7L);
System.out.println(ordinal);
}
今天运行,2016 年 4 月 19 日,它输出 736073
,这与 Python 的输出一致。
来自LocalDate
, 你可以用 toEpochDay()
得到纪元日.如果你看看inside the current implementation ,你会发现它实际上计算了从 0 年开始的总天数,并用常数减去它
static final long DAYS_0000_TO_1970 = (DAYS_PER_CYCLE * 5L) - (30L * 365L + 7L);
其中 DAYS_PER_CYCLE = 146097
是 400 年周期中的天数。该常量不公开,因此我们不能直接重用它。
来自 toordinal()
的 Python 文档,它定义第 1 年的序数为 1。Java API 上面的演算假定它是第 0 年,所以我们只需要为此进行调整。
关于Java 等同于 Python 的 toordinal()?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36721109/
我有一个地址序列,我正在尝试用序数替换数字。现在我有以下内容。 library(toOrdinal) addlist<-c("east 1 street", "4 ave", "5 blvd", "p
假设我有以下数据: 25/01/2000 05:50 当我使用 datetime.toordinal 转换它时,它返回这个值: 730144 很好,但是这个值只考虑了日期本身。我还希望它考虑小时和分钟
在 Java 中复制 datetime.datetime.now().toordinal() 的最佳方法是什么?我尝试使用 epoch,但结果相去甚远。 最佳答案 没有任何直接的方法可以使用 Java
在 python 中,date对象可以这样转换为公历序数: d=datetime.date(year=2010, month=3, day=1) d.toordinal() 但是什么是逆运算呢? 最佳
我想画一个时间轴 import datetime as da import matplotlib.dates as dt # Data df = pd.DataFrame({'A'
我是 python 的新手,我不明白如何正确格式化日期。 我的数据是这样的 Fri, 09 Dec 2011 06:50:37 UTC 我是这样准备的: dates.append(time.strpt
我遇到了这个错误,但我不知道是什么原因造成的。我的 python 代码在 pyspark 中运行。堆栈跟踪很长,我只展示了其中的一些。所有的堆栈跟踪都没有显示我的代码,所以我不知道去哪里找。此错误的可
有一个包含从文本文件中收集的时间戳(格式 %Y-%M-%D %H:%M:%S)的数组。我想用 matplotlib 在子图中绘制这些。但我无法让它工作。我在想这个: import numpy as n
在使用 Python 3 的 PySpark 上,在包含模式的同时写入表失败。 以下是有效的步骤。 a = sc.textFile("ad_actions.csv") b = a.map(lambda
我是一名优秀的程序员,十分优秀!