我有一个显示表中记录的react组件。我已经使用"useMemo"来定义表结构和数据。它的一些字段是显示日期的日期格式,如"2020-12-08T07:00:00Z"。我想把它转换成更友好的阅读,即DD:MM:YYYY:时间?
组件
const EziSchedule = () =>{
const scheduleColumns = useMemo(
() => [
{
Header: "Schedule Id",
accessor: "eziScheduleId",
},
{
Header: "Start Time",
accessor: "startTime", //need to convert??
},
{
Header: "End Time",
accessor: "endTime", //need to convert??
},
],
[]
);
return (
<div>
<h3>Schedule</h3>
{props.searchCriteria&& props.searchCriteria.siteId!=0 &&
<TableItem
apiUrl={api.EziTrackerSchedule}
columns={scheduleColumns}
itemType={EcpItemTypes.EziTracker}
customParams= {props.searchCriteria}
selectedRow={selectedScheduleRow}
></TableItems>}
错误
我在useMemo中尝试了以下代码:[…但它抛出了异常
{
Header: "Login DateTime",
accessor: moment("loginDateTime","DD MM YYYY hh:mm:ss"),
},
如果你想用momentjs输出一个包含日期的字符串的变量,你可以使用moment(date(.format(string(。请参阅momentjs-docs
moment().format(); // "2014-09-08T08:02:17-05:00" (ISO 8601, no fractional seconds)
moment().format("dddd, MMMM Do YYYY, h:mm:ss a"); // "Sunday, February 14th 2010, 3:25:50 pm"
moment().format("ddd, hA"); // "Sun, 3PM"
moment().format("[Today is] dddd"); // "Today is Sunday"
moment('gibberish').format('YYYY MM DD'); // "Invalid date"
或具有可变
const date = "2021-01-05";
const formatted = moment(date).format();
我不能发表评论,所以…
试试这个:
var d = new Date(YOUR DATE HERE);
var n = d.toLocaleString(CODE YOUR COUNTRY);
那么,将是这样的:
var d = new Date('2020-12-08T07:00:00Z');
var n = d.toLocaleString('pt-BR');
结果将是:08/12/2020 04:00:00
来源(这里有所有的国家代码(:https://www.w3schools.com/jsref/jsref_tolocalestring.asp