当前位置: 首页 > 知识库问答 >
问题:

以正确的格式显示localDateTime的最佳方法是什么?[副本]

汤英豪
2023-03-14

我一直在构建一个小型银行应用程序,遇到一个问题,交易的localDateTime显示为完整格式“2020-10-06T11:54:00.517734”。

这显然不太好看,所以我尝试了几种不同的格式化方法,但大多数都以空指针异常结束。

在这里,数据会从数据库添加到模型中:

for (Transaction transaction : allTransactions) {
    TransactionInfo transactionInfo = new TransactionInfo();

    BankAccount bankAccount;

    if (transaction.getDebitAccount() == selectedBankAccount) {
        bankAccount = transaction.getCreditAccount();
        transactionInfo.setAmount(transaction.getAmount().negate());
    } else {
        bankAccount = transaction.getDebitAccount();
        transactionInfo.setAmount(transaction.getAmount());
    }
    
    transactionInfo.setDateTime(transaction.getDateTime());
    transactionInfo.setName(bankAccount.getAccountName());
    transactionInfo.setIban(bankAccount.getIban());
    transactionInfo.setDescription(transaction.getDescription());
    transactionInfo.setTransactionId(transaction.getId());

    transactions.add(transactionInfo);
}
modelAndView.addObject("transactions", transactions);
... 

这是HMTL页面:

<table class="transaction-table">
                    <tr>
                        <th>Afzender</th>
                        <th>Tegenrekening</th>
                        <th>Bedrag</th>
                        <th>Datum</th>
                        <th>Beschrijving</th>
                    </tr>

                    <tr th:each="transaction : ${transactions}">
                        <td th:text="${transaction.name}"></td>
                        <td th:text="${transaction.iban}"></td>
                        <td>€<span th:text="${transaction.amount}"></span></td>
                        <td th:text="${transaction.dateTime}"></td>
                        <td th:text="${transaction.description}"></td>
                    </tr>
                </table>

我应该尝试在HTML文件中制作这些格式吗?还是有更好的方法在Java中做到这一点?

共有1个答案

秦安宁
2023-03-14

应该管用。如果您正在获取NPE,您可能会在引用上调用某个方法,而引用后面没有实际对象(例如,某些getSomething()返回null并且您尝试在其上执行smth.)。

以下是几个例子:

LocalDateTime.now().format(DateTimeFormatter.ISO_LOCAL_DATE); // 2020-10-06
LocalDateTime.now().format(DateTimeFormatter.ISO_LOCAL_TIME); 
LocalDateTime.now().format(DateTimeFormatter.ofPattern("yyyy/MM/dd HH:mm:ss")); // 2020/10/06 15:20:03

还有一些其他有用的方法,你可以考虑:

LocalDateTime.now().toLocalDate(); // get date only
LocalDateTime.now().toLocalTime(); // get time only
LocalDateTime.now().withNano(0); // prints something like 2020-10-06T15:26:58 (no nanos which usually we don't need :) )
 类似资料:
  • 问题内容: 我有一个Ajax调用,它可以更新数据库中的5,000条记录,因此需要很多时间。我有一个Ajax“正在加载图像”,它表明正在发生某些事情,但是我正在寻找一种更好的方式来显示“正在更新5000中的50 .....”,“正在更新5000中的200”或类似的东西。 在Ajax / jQuery中不做5000篇不同文章的最佳方法是什么? 问题答案: 我认为最好是使用Comet。 在Comet样式

  • 我有一个关于bean的正确格式和用法的问题。xml文件。在我的项目中,我通常将这些内容用于我的bean。xml文件(未使用explizit bean声明): 这在WildFly 8和9中运行得很好。但是我在GlassFish 4中有部署问题。在问题中:Glassfish 4,CDI中的简单示例在WELD-001408中失败。我写了一个替代格式: 这里使用了不同的名称空间。GlassFish4似乎很

  • 问题内容: 如果我只有10个或更多数字的字符串,如何将其格式化为电话号码? 一些简单的例子: 我知道这些并不是格式化它们的唯一方法,而且如果我自己做的话,很有可能我会放弃。有python库或格式化电话号码的标准方法吗? 问题答案: 对于库:电话号码(pypi,源) Google通用库的Python版本,用于解析,格式化,存储和验证国际电话号码。 自述文件不足,但是我发现代码记录清楚。

  • 我有点迷失了JSON格式,我必须返回Select2才能正常工作。 我返回的JSON用fiddler捕获: 和我的Select2设置(#FuncionarioID是一个选择输入): }); 我一直在Stackoverflow阅读关于同一主题的问题,我尝试了答案,但没有一个对我有用。关于解决这个问题,你有什么建议吗?我已经尝试返回像这样的对象{“id”:“1060”,“text”:“teste1”},

  • 我见过很多不同的JSON日期格式标准: 哪一个是正确的?还是最好?这方面有什么标准吗?

  • 首先,使用setspn命令为用户注册服务主体名称。 setspn-CS/dummy@abc.com dummy user setspn-l虚拟用户 给出输出为 CS公司/dummy@abc.com 接下来,当使用 /mapUser 选项执行 ktpass 命令时,将修改用户帐户的服务主体名称,以便删除域组件。 ktpass/pass Password @ 123-out dummy . 1 . k