Java MicroStrategy中的命令管理器过程未转换为日期
我在Microstrategy中运行下面的命令管理程序,但它不会将字符串转换为日期,尝试了很多选项。有人能帮忙吗Java MicroStrategy中的命令管理器过程未转换为日期,java,microstrategy,Java,Microstrategy,我在Microstrategy中运行下面的命令管理程序,但它不会将字符串转换为日期,尝试了很多选项。有人能帮忙吗 *********** PROCEDURE*************************************** String sQuery = "LIST ALL SUBSCRIPTIONS FOR SCHEDULE \"" + sScheduleName + "\" FOR PROJECT \"" + projectName + "\";"; ResultSet oSu
*********** PROCEDURE***************************************
String sQuery = "LIST ALL SUBSCRIPTIONS FOR SCHEDULE \"" + sScheduleName + "\" FOR PROJECT \"" + projectName + "\";";
ResultSet oSubs=executeCapture(sQuery);
oSubs.moveFirst();
while(!oSubs.isEof()){
String sSubsName = oSubs.getFieldValueString(DisplayPropertyEnum.GUID);
ResultSet RecList = executeCapture("LIST ALL PROPERTIES FOR SUBSCRIPTION GUID " +sSubsName+ " FOR PROJECT \"projectname\";");
RecList.moveFirst();
while(!RecList.isEof()){
ResultSet oResultSetSubProps = (ResultSet)RecList.getResultCell(SUBSCRIPTION_RESULT_SET).getValue();
oResultSetSubProps.moveFirst();
while(!oResultSetSubProps.isEof())
{
String d1 = oResultSetSubProps.getFieldValueString(DisplayPropertyEnum.EXPIRATIONDATE);
// the below few lines in red return nothing, its unable to convert to Date as it is unable to recognize the Expiration date in the String format.
java.text.SimpleDateFormat formatter = new java.text.SimpleDateFormat("M/dd/yyyy");
String dateInString = d1;
Date date = formatter.parse(dateInString);
printOut(formatter.format(date));
oResultSetSubProps.moveNext();
}
RecList.moveNext();
}
oSubs.moveNext();
}
这对我有用。字符串既不是空的,也不是空的,甚至不是空的,但它仍然无法解析它,因此我必须使用字符串的长度
java.text.DateFormat formatter = new java.text.SimpleDateFormat("M/d/yyyy",Locale.US);
String dateInString = d1;
if(d1.trim().length()>0)
{
Date date = formatter.parse(dateInString);
if(todaydate.compareTo(date)>0)
{
printOut(name+";"+formatter.format(date));
}
}
if(d1.包含(“/”)
{
日期EDate=新日期(d1);
今天日期=新日期();
如果(d1)与(今天)相比,我得到了一个不可接受的日期:“虽然我以正确的格式输入了M/dd/yyyy格式,但您使用的是什么版本的MicroStrategy?我使用的是10.4。我能够理解。谢谢您的登录。没问题。我在10.4上尝试了您的代码,工作得很顺利……有什么问题吗?出于某种原因,字符串既不是空的,也不是空的。我不得不使用字符串length成功解析字符串。虽然此代码可能会回答此问题,但提供有关此代码为什么和/或如何回答此问题的其他上下文可提高其长期价值。
if(d1.contains("/"))
{
Date EDate=new Date(d1);
Date today= new Date();
if(d1.compareTo(today)<0)
{
printOut("Expired");
}
}
else
{
printOut("Active");
}