MYSQL 生成时间戳函数
UNIX_TIMESTAMP()
MYSQL 生成时间戳函数
UNIX_TIMESTAMP()
PHP优化var_dump输出
/**
* 浏览器友好的变量输出
* @param mixed $var 变量
* @param boolean $echo 是否输出 默认为True 如果为false 则返回输出字符串
* @param string $label 标签 默认为空
* @param boolean $strict 是否严谨 默认为true
* @return void|string
*/
function dump($var, $echo=true, $label=null, $strict=true) {
$label = ($label === null) ? '' : rtrim($label) . ' ';
if (!$strict) {
if (ini_get('html_errors')) {
$output = print_r($var, true);
$output = '<pre>' . $label . htmlspecialchars($output, ENT_QUOTES) . '</pre>';
} else {
$output = $label . print_r($var, true);
}
} else {
ob_start();
var_dump($var);
$output = ob_get_clean();
if (!extension_loaded('xdebug')) {
$output = preg_replace('/\]\=\>\n(\s+)/m', '] => ', $output);
$output = '<pre>' . $label . htmlspecialchars($output, ENT_QUOTES) . '</pre>';
}
}
if ($echo) {
echo($output);
return null;
}else
return $output;
}
PHP获取页面中的所有链接
/*
*PHP获取页面中的所有链接
*/
function getPageLink($url)
{
set_time_limit(0);
$html=file_get_contents($url);
if (!$html) {
return false;
}
preg_match_all("/<a(s*[^>]+s*)href=([\"|']?)([^\"'>\s]+)([\"|']?)/ies",$html,$out);
$arrLink=$out[3];
$arrUrl=parse_url($url);
$dir='';
if(isset($arrUrl['path'])&&!empty($arrUrl['path'])){
$dir=str_replace("\\","/",$dir=dirname($arrUrl['path']));
if($dir=="/"){
$dir="";
}
}
if(is_array($arrLink)&&count($arrLink)>0){
$arrLink=array_unique($arrLink);
foreach($arrLink as $key=>$val){
$val=strtolower($val);
if(preg_match('/^#*$/isU',$val)){
unset($arrLink[$key]);
}elseif(preg_match('/^\//isU',$val)){
$arrLink[$key]='http://'.$arrUrl['host'].$val;
}elseif(preg_match('/^javascript/isU',$val)){
unset($arrLink[$key]);
}elseif(preg_match('/^mailto:/isU',$val)){
unset($arrLink[$key]);
}elseif(!preg_match('/^\//isU',$val)&&strpos($val,'http://')===FALSE){
$arrLink[$key]='http://'.$arrUrl['host'].$dir.'/'.$val;
}
}
}
sort($arrLink);
return $arrLink;
}
在asp.net mvc的razor视图中本来想输出09/15这种日期格式,写的代码:@item.PostDate.ToString( "MM/dd")
但却发现生成的是 09-15这种。原来,.NET会自作聪明的以本机系统的时间格式来生成。
改为如下方式后输出正确:
@item.PostDate.ToString( "MM/dd", System.Globalization.DateTimeFormatInfo .InvariantInfo)
//System.Globalization.DateTimeFormatInfo.InvariantInfo 表示忽略系统时间格式,显示自定时间格式
另:也可以显示指定日期格式:
System.Globalization. DateTimeFormatInfo dtFormat = new System.Globalization.DateTimeFormatInfo ();
dtFormat.ShortDatePattern = "yyyy/MM/dd";
@item.PostDate.ToString("MM/dd", dtFormat)
code first 常用命令
Enable-Migrations -EnableAutomaticMigrations -Force //code first启用迁移,并允许自动迁移
Enable-Migrations 第一次开启迁移时执行
添加迁移
add-Migration xxx
update-database //更新数据库
MSDN说明见这里: http://msdn.microsoft.com/en-us/library/dn579398.aspx
codefirst 添加自增字段
[Key,DatabaseGenerated(DatabaseGeneratedOption.Identity)]
ASP.NET MVC模式:一个页面对应一个action函数
经典模式:一个页面对应一个类
使用JS将textarea滚动至底部
var textarea = document.getElementById('id');textarea.scrollTop = textarea.scrollHeight;
Request.Url.Scheme 返回的仅仅是“http”字符串,注意,它不带 ://
Request.Url.Authority 返回的是域名+端口
完整的拼URL应该这样写:
Request.Url.Scheme + "://" + Request.Url.Authority
一下午时间的教训,之前写错了,一直404.或者打开页面时显示新标签页。。
在SQL SERVER的 SELECT语句中执行类型if的条件选择,使用CASE … WHEN…语句,如下:
SELECT
t2.UserID , --操作人
t2.OrderNum , --订单编号
t2.CustomerID , --客户姓名
t2.StyleNo , --款号
t2.Size , --尺码
t2.Picture , --产品图片
t2.Number , --数量
--工厂
(SELECT Name FROM [User] t3 WHERE t3. UserID=t1 .UserID) AS Factory,
t1.OrderType ,
-- 采购方式
PurchaseWay=
CASE t1 .Type
WHEN 1 THEN '现付'
WHEN 2 THEN '银行转帐'
WHEN 3 THEN '担保交易'
WHEN 4 THEN '结算'
END,
t1.LoginName , -- 采购人
t1.CreateTime , --采购日期
t1.ShouldArrivalDate , --工厂应交付日期
t1.DeliveryDate , --工厂发货日期
t1.ActualArrivalDate , --我方签收日期
--采购单状态
PurchaseStatus=
CASE t1 .Status
WHEN 1 THEN '未完成'
WHEN 2 THEN '取消'
WHEN 3 THEN '完成'
WHEN 4 THEN '中途变更'
END,
t1.Remark , --采购备注
--款项结算
SettlementStatus=
CASE t1 .StyleSettlement
WHEN 1 THEN '未结算'
WHEN 2 THEN '已结算未付款'
WHEN 3 THEN '已结算已付款'
END,
t1.Amount --采购金额
FROM Purchasing t1, [Order] t2
WHERE t1 .OrderID = t2 .OrderID