package GUI.GameScene.Components.tools
{
//import
com.ryan.utils.StringTools;
/**
*
日期的工具类
*/
public class
DateTool
{
public
static const TIME_OF_MINUTE:uint = 60 * 1000;
public static const TIME_OF_HOUR:uint = 3600 * 1000;
public static const TIME_OF_DAY:uint = TIME_OF_HOUR *
24;
public static const
TIME_OF_WEEK:uint = TIME_OF_DAY * 7;
public static function
getDateString(date:Date):String
{
return
date.fullYear + "-" + (date.month + 1) + "-" + date.date;
}
//public static function
getTimeString(date:Date):String
//{
//return
NumTool.NumToFixedString(date.hours, 2) + ":" +
NumTool.NumToFixedString(date.minutes, 2) + ":" +
NumTool.NumToFixedString(date.seconds, 2);
//}
//public static function
getString(date:Date):String
//{
//return
getDateString(date) + " " + getTimeString(date);
//}
/**
* 把字符串转化成日期
* @param str 格式2011-08-08 18:16:49,数据库返回的格式
* @return
*/
//public static function
fromString(str:String):Date
//{
//return
new Date(StringTools.replace(str, "-", "/"));
//}
/**
*
把秒数转成字符串,格式:1天1时1分1秒
*
@param second
*
@return
*/
public static function
secondToDateString(s:int):String
{
if (s <=
0)
{
return
"已过期";
}
var
miliSecond:int = s * 1000;
var day:int = miliSecond / TIME_OF_DAY;
var hour:int = miliSecond % TIME_OF_DAY /
TIME_OF_HOUR;
var
minute:int = miliSecond % TIME_OF_HOUR / TIME_OF_MINUTE;
var second:int = miliSecond %
TIME_OF_MINUTE / 1000;
var str:String = "";
var work:Boolean = false;
if (work || day > 0)
{
str += day + "天";
work =
true;
}
if (work ||
hour > 0)
{
str += hour + "时";
work = true;
}
if (work || minute > 0)
{
str += minute + "分";
work = true;
}
if (work || second > 0)
{
str += second + "秒";
work =
true;
}
return
str;
}
/**
* 把日期转换成
“2012年10月10日”
* @param
date
* @return
*/
public
static function dateToString(date:Date):String
{
if (date == null)
{
return "";
}
return
date.fullYear + "年" + (date.month + 1) + "月" + date.date + "日";
}
/**
* 将一个日期转化为Date对象,格式20120428
* @return
*/
public static function
dateToDate(date:String):Date
{
var y:int =
int(date.substr(0, 4));
var m:int = int(date.substr(4, 2)) - 1;
var d:int = int(date.substr(6, 2));
return new Date(y, m,
d);
}
/**
*
将秒数转化成时间字符串,格式为hh:mm:ss
*
@return
*/
public static function secondToString(time:uint,
showHour:Boolean = true):String
{
var h:uint =
time / 3600;
var
m:uint = (time % 3600) / 60;
var s:uint = time % 60;
var hour:String =
"";
if (showHour ||
h > 0)
{
hour = h < 10 ? "0" + h : h.toString();
hour +=
":";
}
var
min:String = m < 10 ? "0" + m : m.toString();
var sec:String = s < 10 ? "0" + s
: s.toString();
return hour + min + ":" + sec;
}
/**
*
将秒数转化成时间字符串,格式为hh:mm
*
@param time
*
@return
*/
public static function
secondToStringHideSecond(time:uint, showHour:Boolean =
true):String
{
var h:uint = time /
3600;
var m:uint =
(time % 3600) / 60;
var hour:String = "";
if (showHour || h > 0)
{
hour = h < 10 ? "0" + h :
h.toString();
hour += ":";
}
var min:String = m < 10 ? "0" + m : m.toString();
return hour + min;
}
/**
* 字符串转成时间
*
@param str 格式 2012-10-10
* @return
*/
public static function
formatDate(str:String):Date
{
if (str !=
"")
{
str = str.substr(0, 10);
var arr:Array =
str.split("-");
if (arr.length == 3)
{
return new
Date(int(arr[0]), int(arr[1] - 1), int(arr[2]));
}
else
{
return null;
}
}
else
{
return null;
}
}
/**
*
字符串转换成日期
* @param
str格式:2014年1月1日0点0分
*
@return
*/
public static function
formatStringToDate(str:String):Date
{
var
result:String = "";
if (str == "" || str == null)
{
return null;
}
var minutes:int;
var hours:int;
var days:int;
var months:int;
var years:int;
var pattern:RegExp = /[\u4e00-\u9fa5]/g;
var newStr:String =
str.replace(pattern, "/");
//minutes = int(str.split("点")[1].split("分")[0]);
//hours =
int(str.split("日")[1].split("点")[0]);
//days =
int(str.split("月")[1].split("日")[0]);
//months =
int(str.split("年")[1].split("月")[0]);
//years = int(str.split("年")[0]);
var arr:Array =
newStr.split("/");
years = int(arr[0]);
months = int(arr[1]);
days = int(arr[2]);
hours = int(arr[3]);
minutes = int(arr[4]);
var date:Date = new Date(years,
months - 1, days, hours, minutes);
return date;
}
}
}
原文:http://www.cnblogs.com/chinayfhuang/p/3569698.html