Javascript 计算日期的日期名称
嗨,我是Java新手,我正在尝试计算日期的日期名称。 我正在使用Esko自动化引擎运行我的Java 如果我根据实际日期创建JavaScript脚本,它将使用以下函数工作:Javascript 计算日期的日期名称,javascript,java,Javascript,Java,嗨,我是Java新手,我正在尝试计算日期的日期名称。 我正在使用Esko自动化引擎运行我的Java 如果我根据实际日期创建JavaScript脚本,它将使用以下函数工作: function f () { var date = new Date().toString().split(' ')[0]; return date; } f (); 但当我尝试用另一个计算日期替换新日期()时,它失败了。 计算的日期显示如下:05/02/19 10:00am,并从xml文件中剥离出来。
function f () {
var date = new Date().toString().split(' ')[0];
return date;
}
f ();
但当我尝试用另一个计算日期替换新日期()时,它失败了。
计算的日期显示如下:05/02/19 10:00am,并从xml文件中剥离出来。
这被命名为ScotlandDeliveryDate
function f () {
var date = ScotlandDeliveryDate ().toString().split(' ')[0];
return date;
}
f ();
结果:
javax.script.ScriptException: <eval>:4:25 Missing space after numeric literal
var date = 05/02/19 10:00am().toString().split(' ')[0];
^ in <eval> at line number 4 at column number 25
javax.script.ScriptException::4:25数字文字后缺少空格
变量日期=19年2月5日上午10:00().toString().split(“”)[0];
^在第4行第25列中
有人有什么想法吗?我对“Esko”一无所知。但在上面给出的示例中,您试图在另一个SmartName的定义中使用一个SmartName(
ScotlandDeliveryDate
)。在下面的链接中,它们似乎表明这是通过将SmartName括在括号中完成的
因此,我认为您的代码需要如下所示:
function f () {
return '[ScotlandDeliveryDate]'.split(' ')[0];
}
f ();
function f () {
var monthDayYear = '[ScotlandDeliveryDate]'.split(' ')[0];
var dateTimeStamp = Date.parse(monthDayYear);
var dateObject = new Date(dateTimeStamp);
return new Intl.DateTimeFormat('en-US', {weekday:'long'}).format(dateObject);
}
f ();
但是,从您的错误消息来看,[ScotlandDeliveryDate]
将返回05/02/19 10:00am
;如果是这种情况,那么在空格上拆分该值,然后获取第一个值仍然无法得到日期名称
要做到这一点,您需要以下内容:
function f () {
return '[ScotlandDeliveryDate]'.split(' ')[0];
}
f ();
function f () {
var monthDayYear = '[ScotlandDeliveryDate]'.split(' ')[0];
var dateTimeStamp = Date.parse(monthDayYear);
var dateObject = new Date(dateTimeStamp);
return new Intl.DateTimeFormat('en-US', {weekday:'long'}).format(dateObject);
}
f ();
或者,如果没有Intl对象:
function f () {
var dayNames = [
'Sunday',
'Monday',
'Tuesday',
'Wednesday',
'Thursday',
'Friday',
'Saturday'
];
var monthDayYear = '[ScotlandDeliveryDate]'.split(' ')[0];
var dateTimeStamp = Date.parse(monthDayYear);
var dateObject = new Date(dateTimeStamp);
var dayNumber = dateObject.getDay();
return dayNames[dayNumber];
}
f ();
我能知道Scotland DeliveryDate之后支架的用途吗?我认为ScotlandDeliveryDate是一个以日期为值的变量。尝试删除该选项并写入var date=ScotlandDeliveryDate.toString().split(“”)[0];什么是苏格兰交货日期?A
日期
?函数?如果我可以计数,第25列将是am
所在的位置或紧靠它前面的0
。这是否正确?ScotlandDeliveryDate是什么?这是一节课吗?一个物体?也许你之前缺少了新的new
?或者在ScotlandDeliveryDate之后应该有大括号,我很困惑。你是要Java代码还是JavaScript代码?你的问题到底是什么?如果我运行第一个示例,我得到的结果是05/02/19,但第二个函数失败:result:javax.script.ScriptException:ReferenceError:“Intl”未在第5行定义Intl
包是标准之一,用于日期转换/操作的内置Javascript对象,在“Esko”环境中可能没有。这只意味着您必须手动进行转换。因此,在上面的dateObject
值上,可以调用dateObject.getDay()
。这将返回一个0-6序号,对应于一周中的某一天。您可以这样创建一个引用数组:var dayNames=['Sunday'、'Sunday'、'Sunday'、'Sunday'、'Sunday'、'Sunday'、'Sunday'、'Sunday'、'Sunday'、'Sunday'、'sunda代码>然后您可以轻松地将该日数转换为正式名称。