ActionScriptで生年月日から年齢を計算する簡単ロジック

by clockmaker
♥8 | Line 33 | Modified 2010-02-16 09:21:33 | MIT License
play

ActionScript3 source code

/**
 * Copyright clockmaker ( http://wonderfl.net/user/clockmaker )
 * MIT License ( http://www.opensource.org/licenses/mit-license.php )
 * Downloaded from: http://wonderfl.net/c/MFhR
 */

<?xml version="1.0"?>
<mx:Application xmlns:mx="http://www.adobe.com/2006/mxml">
<!--
超簡単に年齢を算出!
-->  
    <mx:Script>
        <![CDATA[
        import jp.nium.utils.NumberUtil;
        import mx.controls.Alert;
        
        public function calcAge():void
        {
            var today:Date = new Date();
            
            var y1:String = NumberUtil.digit(today.getFullYear(), 4);
            var m1:String = NumberUtil.digit(today.getMonth() + 1 , 2);
            var d1:String = NumberUtil.digit(today.getDate(), 2);
            
            var y2:String = NumberUtil.digit(myBirth.selectedDate.getFullYear(), 4);
            var m2:String = NumberUtil.digit(myBirth.selectedDate.getMonth() + 1 , 2);
            var d2:String = NumberUtil.digit(myBirth.selectedDate.getDate(), 2);
            
            // 年齢 = floor((今日-誕生日)/10000)
            var age:int = (int(y1 + m1 + d1) - int(y2 + m2 + d2)) / 10000;
            
            Alert.show("あなたは" + age + "才です" );
        }
        ]]>
    </mx:Script>
    
    <mx:Label text="あなた誕生日を入力ください" />
    <mx:DateField 
        id="myBirth" 
        selectedDate="{new Date('Feb 16 1983')}"
        yearNavigationEnabled="true"
        formatString="YYYY年MM月DD日"
        />
    <mx:Button click="calcAge()" label="計算する" />
    <mx:Button click="navigateToURL(new URLRequest('http://clockmaker.jp/blog/2009/02/flex_age/'))" label="詳しくはこちら" />
    
</mx:Application>

Forked