修改date.toLocaleString()的警告

本文介绍了一种替代date.toLocaleString()的日期格式化方法,通过使用SimpleDateFormat将日期转换为字符串,提供了一段示例代码并创建了一个新的DateUtil类。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

 

我们在写程序的时候,经常要查看时间,所以我们经常会用到date.toLocaleString(),但是date.toLocaleString()是一个过时 的API,代替的方法如下:

 

package com.tntxia.htmlmaker.util;

import java.text.SimpleDateFormat;
import java.util.Date;

public class DateUtil {
	
	public static String getDateStr(Date date){
		SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
		return sdf.format(date);
	}

}

 写到一个新的类中,名叫DateUtil,用SimpleDateFormat来代码toLocaleString方法。

 

function updateTotals(table) { const rows = Array.from(table.rows).slice(2, -2); // 跳过表头和合计行 const monthlyTotals = {}; // 用于存储每个月的合计 let totalDebit = 0; // 本月合计(当前月) let totalCredit = 0; // 本月合计(当前月) // 获取当前月份(用于本月合计) const currentMonth = new Date().toLocaleString('default', { month: 'long' }); // 例如 "October" // 遍历数据行,按月分组合计 rows.forEach(row => { const date = row.cells[0].textContent; // 获取日期 const month = new Date(date).toLocaleString('default', { month: 'long' }); // 提取月份 const debit = parseFloat(row.cells[4].textContent) || 0; // 借方金额 const credit = parseFloat(row.cells[5].textContent) || 0; // 贷方金额 // 初始化当前月份的合计 if (!monthlyTotals[month]) { monthlyTotals[month] = { debit: 0, credit: 0 }; } // 累加当前月份的合计 monthlyTotals[month].debit += debit; monthlyTotals[month].credit += credit; // 如果是当前月,累加到本月合计 if (month === currentMonth) { totalDebit += debit; totalCredit += credit; } }); // 更新本月合计 const monthlyTotalRow = table.rows[table.rows.length - 2]; monthlyTotalRow.cells[4].textContent = totalDebit; monthlyTotalRow.cells[5].textContent = totalCredit; // 更新本年累计 const annualTotalRow = table.rows[table.rows.length - 1]; annualTotalRow.cells[4].textContent = Object.values(monthlyTotals).reduce((sum, month) => sum + month.debit, 0); annualTotalRow.cells[5].textContent = Object.values(monthlyTotals).reduce((sum, month) => sum + month.credit, 0); } 这段代码‘本月合计’无法自动计算,请修改代码
03-13
<template> <div class="app-container"> <!-- 顶部操作按钮 --> <div class="toolbar"> <el-button type="primary" @click="handleAdd">新增设备</el-button> <el-button type="danger" @click="handleDelete">批量删除</el-button> <el-button @click="handleExport">导出数据</el-button> </div> <!-- 设备列表 --> <el-table :data="devices" style="width: 100%" @selection-change="handleSelectionChange" > <el-table-column type="selection" width="55" /> <el-table-column label="序号" width="80"> <template #default="{ $index }"> {{ $index + 1 }} </template> </el-table-column> <el-table-column prop="type" label="设备类型" width="150" /> <el-table-column prop="standardCount" label="标准数量" width="120" /> <el-table-column prop="updatedBy" label="更新人" width="120" /> <el-table-column prop="updatedAt" label="更新时间" width="180"> <template #default="scope"> {{ formatTime(scope.row.updatedAt) }} </template> </el-table-column> <el-table-column label="操作" width="180"> <template #default="scope"> <el-button size="small" @click="handleEdit(scope.row)"> 编辑</el-button> <el-button type="danger" size="small" @click="handleDelete(scope.row)"> 删除</el-button> </template> </el-table-column> </el-table> </div> </template> <script> import { ref } from 'vue'; import { ElMessage } from 'element-plus'; export default { setup() { const devices = ref([ { id: 1, type: '服务器', standardCount: 20, updatedBy: 'admin', updatedAt: '2024-05-20T14:30:00Z' }, // 其他设备数据... ]); const selectedRows = ref([]); const handleAdd = () => { // 新增设备逻辑 ElMessage('新增设备功能待开发'); }; const handleDelete = (row) => { if (row) { // 单行删除 devices.value = devices.value.filter(d => d.id !== row.id); } else { // 批量删除 devices.value = devices.value.filter(d => !selectedRows.value.includes(d)); selectedRows.value = []; } ElMessage.success(' 删除成功'); }; const handleEdit = (row) => { // 编辑设备逻辑 ElMessage(`编辑设备ID: ${row.id}`); }; const handleExport = () => { // 导出数据逻辑 ElMessage('导出功能待开发'); }; const handleSelectionChange = (rows) => { selectedRows.value = rows; }; const formatTime = (timestamp) => { const date = new Date(timestamp); return date.toLocaleString(); }; return { devices, handleAdd, handleDelete, handleEdit, handleExport, handleSelectionChange, formatTime }; } }; </script> <style> .app-container { padding: 20px; height: 100vh; display: flex; flex-direction: column; } .toolbar { margin-bottom: 20px; display: flex; gap: 10px; } .el-table { flex: 1; } </style>
06-18
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值