如何在 SAPUI5 中将日期时间字符串转换为日期?
How to convert datetime string to date in SAPUI5?
我正在尝试在 SAPUI5 中将字符串转换为日期
var Fdate = "2020-08-01T00:00:00";
var dateFormat = sap.ui.core.format.DateFormat.getDateInstance({
pattern: "dd/MM/yyyy"
});
fdateFormatted = dateFormat.format(Fdate);
但是这个returns出现以下错误:
Uncaught TypeError: j.getTime is not a function
我尝试将源模式设置为“yyyy-MM-ddTHH:mm:ss”。但是这个returns同样的错误。
格式化函数需要一个日期对象。
var Fdate = "2020-08-01T00:00:00";
var date = new Date(Fdate);
var dateFormat = sap.ui.core.format.DateFormat.getDateInstance({
pattern: "dd/MM/yyyy"
});
fdateFormatted = dateFormat.format(date);
在 JS 中
// DateFormat required from "sap/ui/core/format/DateFormat"
const dt = DateFormat.get<strong>DateTime</strong>Instance({ pattern: "dd/MM/yyyy" });
const jsDateObject = dt.parse("2020-08-01T00:00:00"); // returns: Sat Aug 01 2020 00:00:00 <em><timezone information></em>
const dayMonthYear = dt.format(jsDateObject) // returns: "01/08/2020"
- 如果字符串包含日期和时间,通过日期时间实例解析它。api
.parse
api 等待字符串值并将其转换为 JS 日期(例如,用于将其存储在模型中)。
.format
api 等待 JS 日期并将其转换为字符串表示形式(例如,用于在 UI 中显示)。
双向数据绑定(Model-View-ViewModel 模式)
类似于:
<DatePicker value="{
path: '/MyDateTimeString',
type: 'sap.ui.model.type.Date',
formatOptions: {
source: {
pattern: 'yyyy-MM-ddTHH:mm:ss'
}
}
}" />
框架将自动使用 .format
和 .parse
。 IE。用户可以在 UI 中选择或输入一个日期,然后输入将被解析并作为 JS 日期存储在模型中,而无需编写一行 JS 代码。
sap.ui.getCore().attachInit(() => sap.ui.require([
"sap/ui/core/mvc/XMLView",
"sap/ui/model/json/JSONModel", // sample model. Works also with ODataModel.
], (XMLView, MyModel) => XMLView.create({
definition: `<mvc:View xmlns:mvc="sap.ui.core.mvc">
<VBox xmlns="sap.m" class="sapUiTinyMargin">
<DatePicker
width="12rem"
value="{
path: '/MyDateTimeString',
type: 'sap.ui.model.type.Date',
formatOptions: {
source: {
pattern: 'yyyy-MM-ddTHH:mm:ss'
}
}
}"
/>
<ObjectAttribute
title="Model"
text=""{/MyDateTimeString}""
/>
</VBox>
</mvc:View>`,
models: new MyModel({ // e.g. v2.ODataModel
MyDateTimeString: "2020-08-01T00:00:00", // Type="Edm.String"
}),
}).then(control => control.placeAt("content"))));
<script id="sap-ui-bootstrap"
src="https://openui5.hana.ondemand.com/resources/sap-ui-core.js"
data-sap-ui-libs="sap.ui.core,sap.m"
data-sap-ui-theme="sap_fiori_3"
data-sap-ui-async="true"
data-sap-ui-compatversion="edge"
data-sap-ui-xx-waitfortheme="init"
></script><body id="content" class="sapUiBody sapUiSizeCompact"></body>
单击“显示代码片段”和 运行 代码片段 以查看实际演示。
我正在尝试在 SAPUI5 中将字符串转换为日期
var Fdate = "2020-08-01T00:00:00";
var dateFormat = sap.ui.core.format.DateFormat.getDateInstance({
pattern: "dd/MM/yyyy"
});
fdateFormatted = dateFormat.format(Fdate);
但是这个returns出现以下错误:
Uncaught TypeError: j.getTime is not a function
我尝试将源模式设置为“yyyy-MM-ddTHH:mm:ss”。但是这个returns同样的错误。
格式化函数需要一个日期对象。
var Fdate = "2020-08-01T00:00:00";
var date = new Date(Fdate);
var dateFormat = sap.ui.core.format.DateFormat.getDateInstance({
pattern: "dd/MM/yyyy"
});
fdateFormatted = dateFormat.format(date);
在 JS 中
// DateFormat required from "sap/ui/core/format/DateFormat"
const dt = DateFormat.get<strong>DateTime</strong>Instance({ pattern: "dd/MM/yyyy" });
const jsDateObject = dt.parse("2020-08-01T00:00:00"); // returns: Sat Aug 01 2020 00:00:00 <em><timezone information></em>
const dayMonthYear = dt.format(jsDateObject) // returns: "01/08/2020"
- 如果字符串包含日期和时间,通过日期时间实例解析它。api
.parse
api 等待字符串值并将其转换为 JS 日期(例如,用于将其存储在模型中)。.format
api 等待 JS 日期并将其转换为字符串表示形式(例如,用于在 UI 中显示)。
双向数据绑定(Model-View-ViewModel 模式)
类似于
<DatePicker value="{
path: '/MyDateTimeString',
type: 'sap.ui.model.type.Date',
formatOptions: {
source: {
pattern: 'yyyy-MM-ddTHH:mm:ss'
}
}
}" />
框架将自动使用 .format
和 .parse
。 IE。用户可以在 UI 中选择或输入一个日期,然后输入将被解析并作为 JS 日期存储在模型中,而无需编写一行 JS 代码。
sap.ui.getCore().attachInit(() => sap.ui.require([
"sap/ui/core/mvc/XMLView",
"sap/ui/model/json/JSONModel", // sample model. Works also with ODataModel.
], (XMLView, MyModel) => XMLView.create({
definition: `<mvc:View xmlns:mvc="sap.ui.core.mvc">
<VBox xmlns="sap.m" class="sapUiTinyMargin">
<DatePicker
width="12rem"
value="{
path: '/MyDateTimeString',
type: 'sap.ui.model.type.Date',
formatOptions: {
source: {
pattern: 'yyyy-MM-ddTHH:mm:ss'
}
}
}"
/>
<ObjectAttribute
title="Model"
text=""{/MyDateTimeString}""
/>
</VBox>
</mvc:View>`,
models: new MyModel({ // e.g. v2.ODataModel
MyDateTimeString: "2020-08-01T00:00:00", // Type="Edm.String"
}),
}).then(control => control.placeAt("content"))));
<script id="sap-ui-bootstrap"
src="https://openui5.hana.ondemand.com/resources/sap-ui-core.js"
data-sap-ui-libs="sap.ui.core,sap.m"
data-sap-ui-theme="sap_fiori_3"
data-sap-ui-async="true"
data-sap-ui-compatversion="edge"
data-sap-ui-xx-waitfortheme="init"
></script><body id="content" class="sapUiBody sapUiSizeCompact"></body>
单击“显示代码片段”和 运行 代码片段 以查看实际演示。