如何从SuiteScript将当前日期时间设置为Netsuite日期/时间字段

时间:2014-03-24 17:07:08

标签: netsuite

我想将当前日期时间设置为suitescript中的自定义日期/时间实体字段。 我尝试设置Javascript日期,它不起作用。

我找到了设置日期的方法,但没有设定日期时间。

4 个答案:

答案 0 :(得分:3)

你也可以尝试使用nlapiDateToString(新的Date(),' datetime')?

答案 1 :(得分:1)

在NetSuite帮助中,有一个名为“DateTime Time Zone API”的页面,其中包含有关nlapiGetDateTimeValuenlapiSetDateTimeValue的信息。这些可能是您正在寻找的功能。

答案 2 :(得分:1)

在将记录提交到数据库之前,它将获取系统日期和时间并提交记录。 这是代码。希望它有所帮助。

function userEventBeforeSubmit(type) {
if (type == 'create' || type == 'edit') {
    var currentDate = sysDate(); // returns the date
    var currentTime = timestamp(); // returns the time stamp in HH:MM:SS
    var currentDateAndTime = currentDate + ' ' + currentTime;
    nlapiSetFieldValue('custentity_date_time', currentDateAndTime);
    nlapiLogExecution('DEBUG', 'User Event Script', currentDateAndTime);
}
}

function sysDate() {
var date = new Date();
var tdate = date.getDate();
var month = date.getMonth() + 1; // jan = 0
var year = date.getFullYear();
return currentDate = month + '/' + tdate + '/' + year;

}

function timestamp() {
var str = "";

var currentTime = new Date();
var hours = currentTime.getHours();
var minutes = currentTime.getMinutes();
var seconds = currentTime.getSeconds();
var meridian = "";
if (hours > 12) {
    meridian += "pm";
} else {
    meridian += "am";
}
if (hours > 12) {

    hours = hours - 12;
}
if (minutes < 10) {
    minutes = "0" + minutes;
}
if (seconds < 10) {
    seconds = "0" + seconds;
}
str += hours + ":" + minutes + ":" + seconds + " ";

return str + meridian;
}

答案 3 :(得分:0)

这是在这里得到解答的。必须获取记录对象并从对象进行api调用。 http://codeboxllc.com/ksc/author/mhson1978/page/3/