tarihi

2010-06-28 18 views
7

benim veritabanının bir tarihi almak Tarihi ve ben bir dize olarak göstermek gerekir. Yani Flex'te bunu:tarihi

public static function dateToString(cDate:Date):String { 
     return cDate.date.toString()+"."+ 
      cDate.month.toString()+"."+ 
      cDate.fullYear.toString()+" "+ 
      cDate.hours.toString()+":"+ 
      cDate.minutes.toString()+":"+ 
      cDate.seconds.toString(); 
} 

Ama örneğin sonuç almak:

2010/07/13 0: 0: 15

Ben gün, ay, saat doldurmak nasıl

, yastıklı 0 ile dakika, saniye?

, ben ile güncel String geri dönmek:

DateField.stringToDate(myTextInput.text, "DD.MM.YYYY HH:MM:SS"); 

Bu doğru mu? BlazeDS aracılığıyla bir J2EE Backend'e transfer edeceğim bir Tarih istiyorum, ama sadece veritabanında sadece bir boş değer görüyorum. Yani bir şey ... yanlış

Saygılarımızla gidiyor.

cevap

19

Eğer DateFormatter sınıf gördünüz mü?

Örnek:

DateFormatter::parseDateString korumalı fonksiyon olduğu için birileri gün yazdığı Flex 3.2 uyuyordu gibi görünüyor
import mx.formatters.DateFormatter; 

private var dateFormatter:DateFormatter; 

private function init():void 
{ 
    dateFormatter = new DateFormatter(); 
    dateFormatter.formatString = 'DD.MM.YYYY HH:NN:SS' 
} 

public function dateToString(d:Date):String 
{ 
    return dateFormatter.format(d); 
} 

public function stringToDate(s:String):Date 
{ 
    return dateFormatter.parseDateString(s); 
} 

. 3.5 tarafından sabitlenmiş gibi görünüyor.

+2

stringToDate yöntemi korumalı bir yöntem olduğundan çalışmaz. Ben Flex 4. kullanıyorum – Tim

+0

为什么 在 Flash CS4 中 会 报错, 提示 找不到 定义 mx.formatters.DateFormatter –

+0

'parseDateString() dize eğer tesadüfen olabilir bu yüzden' kabul eder ne de bir biçim dizesi saygı vermez doğru şekilde dönüştürülür. – splash

5

Sen DateFormatter::parseDateString ile güncel Dize dönüştürebilir, ancak bu yöntem korunur (?).

import mx.formatters.DateFormatter; 

public class DateFormatterWrapper extends DateFormatter 
{ 
    public function DateFormatterWrapper() 
    { 
     super(); 
    } 

    public function parseDate(str:String):Date 
    { 
     return parseDateString(str); 
    }  
} 
+0

Bu korunan yönteme sahip olmak için mükemmel bir eş. :) –

7

stringToDate fonksiyonu yukarıdaki cevabı çalışmıyor ve basit sarıcı giriş dizesi biçimi belirtmek izin vermiyor çünkü bu ekliyorum: sadece basit bir sarmalayıcı yazma DateFormatter::parseDateString yöntemini erişmek için. İşlev artık statik olduğundan sarıcı aslında artık gerekmiyor, ancak yine de aynı sorun var. Bunun yerine DateField Sınıfı'ndan aşağıdaki statik işlevi kullanmanız önerilir.

//myObject.CreatedDate = "10022008" 

var d:Date = DateField.stringToDate(myObject.CreatedDate, "MMDDYYYY");