小编Wil*_*iam的帖子

DateTimeFormatter 的模式问题

我正在编写一个股票程序,它(到目前为止)通过这样的请求从“Markit on Demand”获取数据:

http://dev.markitondemand.com/Api/v2/Quote/xml?symbol=aapl

这将返回 xml 中的数据,以及股票的各种度量(符号、名称、最后价格、变化、时间戳等)。

我在 Java 8 中创建 DateTimeFormatter 来制作时间戳时遇到问题。

时间戳的一个示例:

Fri Jul 18 15:59:00 UTC-04:00 2014

到目前为止,我拥有的模式如下:

EEE MMM d HH:mm:ss OOOO yyyy

我相信你们中的一些人可以发现,我在偏移方面遇到了麻烦。

从文档:

偏移量 X 和 x:这根据模式字母的数量格式化偏移量。一个字母只输出小时,例如“+01”,除非分钟不为零,在这种情况下也会输出分钟,例如“+0130”。两个字母输出小时和分钟,没有冒号,例如“+0130”。三个字母输出小时和分钟,带一个冒号,例如“+01:30”。四个字母输出小时和分钟以及可选的秒,没有冒号,例如“+013015”。五个字母输出小时和分钟以及可选的秒,带有冒号,例如“+01:30:15”。六个或更多字母抛出 IllegalArgumentException。当要输出的偏移量为零时,模式字母 'X'(大写)将输出 'Z',而模式字母 'x'(小写)将输出 '+00', '

Offset O:根据模式字母的数量格式化本地化的偏移量。一个字母输出本地化偏移量的缩写形式,即本地化偏移量文本,例如“GMT”,小时不带前导零,可选的两位数分钟和秒(如果非零)和冒号,例如“GMT+8” '。四个字母输出完整形式,它是本地化的偏移文本,例如'GMT,带有两位数的小时和分钟字段,可选的第二个字段(如果非零)和冒号,例如'GMT+08:00'。任何其他字母计数都会引发 IllegalArgumentException。

偏移 Z:这会根据模式字母的数量格式化偏移量。一、二或三个字母输出小时和分钟,不带冒号,例如“+0130”。当偏移量为零时,输出将为“+0000”。四个字母输出局部偏移的完整形式,相当于Offset-O的四个字母。如果偏移为零,则输出将是相应的本地化偏移文本。五个字母输出小时、分钟,如果非零,可选秒,带冒号。如果偏移为零,则输出“Z”。六个或更多字母抛出 IllegalArgumentException。

// String rawDate = Fri Jul 18 15:59:00 UTC-04:00 2014   
DateTimeFormatter PARSER_PATTERN = DateTimeFormatter.ofPattern("EEE MMM d HH:mm:ss 'UTC'XXX yyyy");
ZonedDateTime timeStamp = ZonedDateTime.parse(rawDate, PARSER_PATTERN);
Run Code Online (Sandbox Code Playgroud)

这有效,但我很好奇为什么(代替'UTC'XXX)OOOO不起作用。

java datetimeoffset java-8 java-time datetimeformatter

6
推荐指数
1
解决办法
2149
查看次数

将 .mp4 转换为 .mkv 是否会改变数据保真度?

我想知道当我将 a 转换.mp4.mkv使用以下命令时,如果质量发生变化。

ffmpeg -i in.mp4 out.mkv
Run Code Online (Sandbox Code Playgroud)

输入文件的in.mp4文件大小为 297 兆字节,而out.mkv文件的大小为249 兆字节,减少了约 15%。经手动检查,分辨率、视频和音频流前后相同(鉴于我对 ffmpeg 的(有限)了解,正如我所期望的那样)。

简单地转换成15%的尺寸减小mkv实际上不会影响视频质量吗?如果是这样,这似乎是释放计算机上一些空间的非常合理的方法。

ffmpeg

3
推荐指数
1
解决办法
9128
查看次数

GridBagLayout不符合椭圆形状请求

我正在使用swing试图建立一个垄断板.我试图将板上的属性/空间作为单独的JPanels,可以有自己的实现,信息等,但我在空间的形状有一些麻烦.我正在使用GridBagLayout(我对这个布局管理器相当新),我正在尝试将面板放置出来,以便对于JPanels,gridwidth = 4,gridheight = 3(参见附加代码).但是,当我运行它并查看它时,面板是方形的.当我将gridheight更改为2或1时,我确认这不起作用,它仍然显示正方形(我期望JPanels更加椭圆形).

原谅命名方案,我只是在Eclipse中的一个单独的临时项目文件中尝试这种布局,然后才在我的主要垄断程序中实现gui.

import static java.awt.GridBagConstraints.*;

import java.awt.*;
import java.awt.event.*;

import javax.swing.*;
import javax.swing.border.*;

public class MainFrame extends JFrame {

    private static final long serialVersionUID = 1L;




    public MainFrame() {
        super();
        setDefaultCloseOperation(EXIT_ON_CLOSE);
        Dimension screenSize = getToolkit().getScreenSize();
        setSize(screenSize.height, screenSize.height);

        setLocationRelativeTo(null);

        setLayout(new GridBagLayout());

        addCorners();

        addEdges();
        setVisible(true);

        addComponentListener(new ComponentAdapter() {
            @Override
            public void componentResized(ComponentEvent e) {
                System.out.println("Component resized");
                int width = getWidth();
                int height = getHeight();
                System.out.println(width + " " + height);
                super.componentResized(e);
            }
        });
    }

    private int startingColRow = …
Run Code Online (Sandbox Code Playgroud)

java swing layout-manager gridbaglayout

2
推荐指数
1
解决办法
140
查看次数