Finology 大数据金融

通过大数据以量化金融

平时我们使用的时间时间戳一般都是13位带毫秒数和10位不带毫秒数的。.net有个 ticks 的概念,是18位的时间戳。

意义是从公元1月1日零点开始的,到现在有多少个100纳秒。

这个 ticks * 100 为纳秒数,然后除以 1000 变为微秒数。

1
2
3
4
5
6
7
from datetime import *
ticks = 637170897393060000
t = datetime(1, 1, 1) + timedelta(microseconds = ticks // 10)

print(datetime.strftime(t, '%Y-%m-%d %H:%M:%S'))

2020-02-12 07:35:39

我们使用 apache 的 pdfbox 工具,来处理 pdf。在把 pdf 转图片时,会遇到如下一些问题。

1
WARN 8776 --- [           main] o.a.pdfbox.pdmodel.font.PDType0Font      : No Unicode mapping for CID+3585 (3585) in font DJXXII+PingFangSC-Regular

这个应该是找不到字体,不过是 WARN 级别,在这里可以不用太在意。我找到很多方法,也没能解决掉这个警告。

处理字体时,需要加入以下依赖。

1
2
3
4
5
<dependency>
<groupId>org.apache.pdfbox</groupId>
<artifactId>fontbox</artifactId>
<version>2.0.19</version>
</dependency>
1
ERROR 8776 --- [           main] o.a.p.contentstream.PDFStreamEngine      : Cannot read JBIG2 image: jbig2-imageio is not installed

需要添加如下依赖:

1
2
3
4
5
<dependency>
<groupId>org.apache.pdfbox</groupId>
<artifactId>jbig2-imageio</artifactId>
<version>3.0.3</version>
</dependency>
1
ERROR 9074 --- [           main] o.a.p.contentstream.PDFStreamEngine      : Cannot read JPEG2000 image: Java Advanced Imaging (JAI) Image I/O Tools are not installed

需要添加如下依赖:

1
2
3
4
5
<dependency>
<groupId>com.github.jai-imageio</groupId>
<artifactId>jai-imageio-jpeg2000</artifactId>
<version>1.3.0</version>
</dependency>

jai-imageio-jpeg2000 会依赖相同版本的 jai-imageio-core,但我们可以使用最新版本的 jai-imageio-core

1
2
3
4
5
<dependency>
<groupId>com.github.jai-imageio</groupId>
<artifactId>jai-imageio-core</artifactId>
<version>1.4.0</version>
</dependency>

查如下代码,User 实体类有5个属性,如果属性再多一些,每次赋值时就非常麻烦。

1
2
3
4
5
6
User user = new User();
user.setId(0L);
user.setName("");
user.setAge(0);
user.setCreatedAt(LocalDateTime.now());
user.setUpdatedAt(LocalDateTime.now());

如果使用 IntelliJ IDEA 的话,则可以安装 GenerateAllSetter 插件,一键生成所有 Setter 方法。

把光标放在 user 上面,然后使用快捷键 alt + enter

选择 Generate all setter with default value 就可以了,非常方便。

0%