2013-02-28 76 views
0

我正在使用Flash CS3創建基於XML的屏幕保護程序,一切正常。但是,在XML輸出文件中,日期輸出格式保持未格式化(YYYY-MM-DD T00:00:00+00:00)。理想情況下,將輸出英國日期(DD/MM/YYYY)格式。動作腳本3 XML日期格式

下面是ActionScript代碼的驅動的XML文件

// Load up variables with XML element data 

var item_data:Array = new Array(); 
item_data[0] = xml_item.id; 
item_data[1] = xml_item.Product_Name; 
item_data[2] = xml_item.Product_Language; 
item_data[3] = xml_item.dateCreated; 
item_data[4] = xml_item.antDeadlineDate; 
item_data[5] = xml_item.comments; 
item_data[6] = xml_item.webPdf; 
item_data[7] = xml_item.conCheck; 

// Set output variable 

output = "<b>Job ID</b>:" + item_data[0] + "\n"; 
output += "<b>Product Name</b>: " + item_data[1] + "\n"; 
output += "<b>Language</b>: " + item_data[2] + "\n"; 
output += "<b>Date Created</b>: " + item_data[3] + "\n"; 
output += "<b>Anticipated Deadline</b>: " + item_data[4] + "\n"; 
output += "<b>Comments</b>: " + item_data[5] + "\n"; 
output += "<b>PDFs created</b>: " + item_data[6] + "\n"; 
output += "<b>Controller Check</b>: " + item_data[7] + "\n\n\n\n"; 

回答

1

要轉換在這種格式YYYY-MM-DD T00日期字符串的樣品:00:00 + 00:00到這種格式DD/MM/YYYY,你可以這樣做:

var dateOld:String = '1999-01-05 T00:00:00+00:00'; 
var dateParts:Array = dateOld.substring(0, 10).split('-'); 
var dateNew:String = dateParts[2] + '/' + dateParts[1] + '/' + dateParts[0]; 
2

可以使用也正則表達式

var xmlDateTime:RegExp = /([0-9]{4})-(0[0-9]|1[012])-([012][0-9]|3[01])T([01][0-9]|2[0-3])(:[0-5][0-9]){2}(.[0-9]{3}){0,1}(\+|-)([01][0-9]|2[0-3]):[0-5][0-9]/g; 
var dateString = xml_item.dateCreated.toString().replace(xmlDateTime, "$3/$2/$1");