Adobe Flex中的日期格式

3

我有一个日期,我想要将它格式化为以下形式:

YYYYMMDD HHMMSS

所以对于今天的日期来说应该是:

20100304 173000

但当我这样做时:

var todayStr:String = today.getFullYear()+today.getMonth()+today.getDay()+today.getHours()+today.getMinutes();

问题在于3月份的getMonth()方法返回的是"3",而我希望它返回的是"03"。同样的问题也出现在日期获取上。
我该怎么办呢?
谢谢。
3个回答

13
您可以使用DateFormatter。请参考此文档:Adobe上的Dateformatter
var formatter : DateFormatter;
formatter = new DateFormatter();
formatter.formatString = "YYYYMMDD HHNNSS";
formatter.format(dateInstance);

注意 'N' 代表分钟


1

尝试一个简单的函数,比如:

private function formatTwoDigits(val:Number) : String {
  var retVal:String = "";
  retVal = (val > 9) ? val.toString() : "0" + val.toString();
  return retVal;
}

然后使用如下:

var month:String = formatTwoDigits(today.getMonth()+1); // add 1 because months are zero-based

0

虽然可能有更简单的方法,但你也可以更加过程化地完成这个任务。

var todayStr:String;

todayStr+=today.getFullYear();

if(today.getMonth()<10){
  todayStr+="0";
  todayStr+=today.getMonth();
}else{
  todayStr+=today.getMonth();
}

等等。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接