Java8日期格式化

Java8日期格式化

1.日期类型的字符串转换成其他形式

public class test2 {
    public static String formattedDate(String input, String inputFormat, String outputFormat) {
        DateTimeFormatter inputFormatter = DateTimeFormatter.ofPattern(inputFormat);
        LocalDate localDate = LocalDate.parse(input, inputFormatter);
        DateTimeFormatter outputFormatter = DateTimeFormatter.ofPattern(outputFormat);
        return localDate.format(outputFormatter);
    }

    public static void main(String[] args) {
        String date1 = formattedDate("2020年08月24日", "yyyy年MM月dd日", "yyyy-MM-dd");
        String date2 = formattedDate("2020/08/24", "yyyy/MM/dd", "yyyy-MM-dd");
        String date3 = formattedDate("2020-08-24", "yyyy-MM-dd", "yyyy/MM/dd");
        String date4 = formattedDate("2020-08-24", "yyyy-MM-dd", "yyyy年MM月dd日");
        System.out.println("data1:" + date1);
        System.out.println("data2:" + date2);
        System.out.println("data3:" + date3);
        System.out.println("data4:" + date4);
    }
}

测试结果:
在这里插入图片描述
2.带时分秒的日期类型的字符串转换成其他形式

public class test1 {
    public static String formattedDateTime(String input, String inputFormat, String outputFormat) {
        DateTimeFormatter inputFormatter = DateTimeFormatter.ofPattern(inputFormat);
        LocalDateTime localDateTime = LocalDateTime.parse(input, inputFormatter);

        DateTimeFormatter outputFormatter = DateTimeFormatter.ofPattern(outputFormat);
        return localDateTime.format(outputFormatter);
    }

    public static void main(String[] args) {
        String date1 = formattedDateTime("20200824000000", "yyyyMMddHHmmss", "yyyy-MM-dd");
        String date2 = formattedDateTime("20200824000000", "yyyyMMddHHmmss", "yyyy-MM-dd HH:mm:ss");

        String date3 = formattedDateTime("2020年08月24日12时00分55秒", "yyyy年MM月dd日HH时mm分ss秒", "yyyy/MM/dd");
        String date4 = formattedDateTime("2020年08月24日12时01分48秒", "yyyy年MM月dd日HH时mm分ss秒", "yyyyMMddHHmmss");

        String date5 = formattedDateTime("2020-08-24 13:14:00", "yyyy-MM-dd HH:mm:ss", "yyyyMMdd");
        String date6 = formattedDateTime("2020-08-24 13:14:00", "yyyy-MM-dd HH:mm:ss", "yyyy年MM月dd日HH时mm分ss");
        System.out.println("date1:" + date1);
        System.out.println("date2:" + date2);
        System.out.println("date3:" + date3);
        System.out.println("date4:" + date4);
        System.out.println("date5:" + date5);
        System.out.println("date6:" + date6);
    }
}

测试结果:
在这里插入图片描述
原文链接

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
QCustomPlot 可以通过调用 `QCPAbstractLegendItem::setSelectable` 方法来实现图例单击多选功能。具体实现步骤如下: 1. 遍历图例项,将每个图例项设置为可选中状态。可以使用 `QCPAbstractLegend::itemCount` 和 `QCPAbstractLegend::item` 方法来获取图例项数量和每个图例项。 2. 重写 `QCustomPlot::mousePressEvent` 方法,在用户单击图例项时检查是否为选中状态,如果是,则添加或删除相应的图层。 3. 在 `QCustomPlot::replot` 方法中通过 `QCPAbstractPlottable::setVisible` 方法来设置图层的可见性。 下面是一个简单的示例代码: ```cpp // 遍历图例项,将每个图例项设置为可选中状态 for (int i = 0; i < legend->itemCount(); i++) { legend->item(i)->setSelectable(QCP::SelectionType::stSingleData); } // 重写 mousePressEvent 方法 void MyCustomPlot::mousePressEvent(QMouseEvent *event) { if (event->button() == Qt::LeftButton) { // 获取鼠标所在的图例项 QCPAbstractLegendItem *item = legend->itemAt(event->localPos()); if (item) { // 如果图例项为选中状态,则添加或删除相应的图层 if (item->selected()) { QCPAbstractPlottable *plottable = item->plottable(); plottable->setVisible(!plottable->visible()); } } } // 调用父类方法 QCustomPlot::mousePressEvent(event); } // 重写 replot 方法 void MyCustomPlot::replot(QCustomPlot::RefreshPriority refreshPriority) { // 遍历所有图层,设置可见性 for (int i = 0; i < layerCount(); i++) { QCPAbstractPlottable *plottable = layer(i); plottable->setVisible(isLayerVisible(i)); } // 调用父类方法 QCustomPlot::replot(refreshPriority); } ``` 注意:这只是一个简单的示例,实际使用时还需要根据具体需求进行修改和扩展。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值