0

我知道有一个更好和正确的方法可以做到这一点,但我需要一个临时的解决方案。我需要增加额外的时间,这一天也会自动改变。我应该如何更改下面的代码?

package {
public class getTime {
    private var today:Date=new Date();
    private var hour:uint=today.getHours();
    private var minute:uint=today.getMinutes();
    private var month:uint=today.getMonth();
    private var monthArray:Array=new Array('January','February','March','April','May','June','July','August','September','October','November','December');
    private var time:String = getUSClockTime(today.getHours(), today.getMinutes());
    public var dateNtime:String=(time+", " +today.getDate()+" "+monthArray[month]+" "+today.getFullYear());;

    public function getTime() {
    }

    private function getUSClockTime(hrs:uint, mins:uint):String {
        var modifier:String="PM";
        var minLabel:String=doubleDigitFormat(mins);

        if (hrs>12) {
            hrs=hrs-12;
        } else if (hrs == 0) {
            modifier="AM";
            hrs=12;
        } else if (hrs < 12) {
            modifier="AM";
        }

        return (doubleDigitFormat(hrs) + ":" + minLabel + " " + modifier);
    }

    private function doubleDigitFormat(num):String {
        if (num<10) {
            return ("0" + num);
        }
        return num;
    }
}
}
4

1 回答 1

0

您能否阐明代码当前正在做什么以及应该以不同的方式做什么?

我能想到的最简单的方法是使用该Date对象:

  1. Date使用您的初始时间创建一个实例。
  2. 使用 获取以毫秒为单位的时间dateInstance.getTime()
  3. 添加以毫秒为单位的时区差异。
  4. 从更新的时间创建一个新Date的,以毫秒为单位。
  5. 根据需要进行任何字符串操作以格式化日期。

这样,Date 类负责计算出新的日期和时间。

于 2010-04-23T04:14:58.947 回答