piap.excel 微软 时间戳转换mssql sql server文件时间戳转换unix 导入mysql

时间:2023-01-18 02:37:40
piap.excel 微软 时间戳转换mssql sql server文件时间戳转换unix 导入mysql


需要不个mssql的sql文件导入mysql.他们的时间戳格式不同..ms用的是自定义的时间戳
excel时间戳跟mssql的一样,ms系列的都是中个阿..

 作者Attilax 艾龙, EMAIL:1466519819@qq.com
来源:attilax的专栏
地址:http://blog.csdn.net/attilax


////////////unix时间戳,是从1970开始.而ms的时间戳格式从1900年开始...
此外,mssql的时间不是1000ms级的,每300ms计算一次..

//////ms的时间戳格式下列的:
INSERT [dbo].[a0moneyx] ([id], [acc], [datex], [moneyx], [cls], [demo]) VALUES (696, N'alip', CAST(0x0000A1EA00E297D0 AS DateTime), CAST(19.00 AS Numeric(18, 2)), N'ea', N'支付-漂白粉去色剂漂白剂漂白水去黄剂消毒剂衣物去黄增白去串色氧净剂')

//////////////
 $msDate="0x0000A1EA00E297D0";
$unixTimstmp = convertToUnixTimeStamp_frmMssql($msDate);
 
echo "time:" . $date = date_yymmddHHmmss($unixTimstmp);
 
 function convertToUnixTimeStamp_frmMssql($timestmp_mssql)
{
    $date_s = substr($timestmp_mssql, 0, 10);
    $date_tmstmp_ms = hexdec($date_s);
    $unixTimeStamp_dateONly = ($date_tmstmp_ms - 17 - 70 * 365) * 86400; //-8*3600;

    $time_s = substr($timestmp_mssql, 10);
    $time_tmstmp_ms = hexdec($time_s);
    $time_tmstmp = $time_tmstmp_ms / 300;

    $tmstmp = $unixTimeStamp_dateONly + $time_tmstmp;
    //  $date3=date('Y-m-d H:i:s',$timestmp);
    return $tmstmp;
}

【转】php读取excel文件的日期时间问题_greenxm_百度空间.htm
使用excel转换Unix时间戳_小君羡的blog_新浪博客.htm
Unix时间戳(Unix timestamp)转换工具 - 站长工具.htm