 |
สอบถามครับ เรื่องการใช้ Function PHP Thai Date/Time Function |
|
 |
|
|
 |
 |
|
คือว่าผมจะเอา function ไปใช้ได้ยังไงอะครับ
ผมลองทำแล้วก็ออกมาไม่ตรงตามที่ต้องการซักที
อยากให้ <?=$show['new_date']?> นี่อ่ะครับ ให้แสดงเป็น ภาษาไทย ตาม function ครับ
รบกวนด้วยนะครับ
Code (PHP)
<?php
function DateThai($strDate)
{
$strYear = date("Y",strtotime($strDate))+543;
$strMonth= date("n",strtotime($strDate));
$strDay= date("j",strtotime($strDate));
$strHour= date("H",strtotime($strDate));
$strMinute= date("i",strtotime($strDate));
$strSeconds= date("s",strtotime($strDate));
$strMonthCut = Array("","ม.ค.","ก.พ.","มี.ค.","เม.ย.","พ.ค.","มิ.ย.","ก.ค.","ส.ค.","ก.ย.","ต.ค.","พ.ย.","ธ.ค.");
$strMonthThai=$strMonthCut[$strMonth];
return "$strDay $strMonthThai $strYear, $strHour:$strMinute";
}
$strDate = "2008-08-14 13:42:44";
echo "ThaiCreate.Com Time now : ".DateThai($strDate);
?>
Code (PHP)
<table>
<tr align="center">
<td width="55%">ข่าว</td>
<td width="25%">ประกาศโดย</td>
<td width="20%">วันที่ประกาศ</td>
</tr>
<?php
include "config/connect.php";
$sql = "SELECT * FROM news
INNER JOIN personnel ON news.per_id = personnel.per_id
INNER JOIN category_personnel ON category_personnel.cyp_id = personnel.cyp_id
WHERE news.new_status = '1'
ORDER BY new_date DESC";
$result = mysql_query($sql);
while($show = mysql_fetch_array($result)){
?>
<tr>
<td><a href="detailNews.php?new_id=<?=$show['new_id']?>"><?=$show['new_heading']?></a></td>
<td><?=$show['per_name']?>, (<?=$show['cyp_name']?>)</td>
<td align="center"><?=$show['new_date']?></td>
</tr> <? } ?>
</table>
Tag : PHP
|
ประวัติการแก้ไข 2014-03-23 14:52:14
|
 |
 |
 |
 |
Date :
2014-03-23 14:44:56 |
By :
sabaitip |
View :
2122 |
Reply :
15 |
|
 |
 |
 |
 |
|
|
|
 |
 |
|
 |
 |
 |
|
|
 |
 |
|
ผมเคยเห็นฟังก์ชันแบบนี้ เมื่อ 30 ปีที่แหล่ว... มะเมี้ย (มากยิ่งกว่าเจ้าน้อย สุขเกษม + มะเมีย) เอิ้นผ่านม้า 20 ปี้เสียอีก
แต่ทุกวันนี้ผมก็ยังเห็นเหมือนเดิม นั่นคือ ม.ค, ก.พ., ... , ธ.ค. หรือ ๑, ๒, ๓, ...
จนถึงทุกวันนี้ผมยังแก้ไข คำถามของปัญหา ไม่ได้เลยครับ
|
 |
 |
 |
 |
Date :
2014-03-23 16:22:27 |
By :
love9713 |
|
 |
 |
 |
 |
|
|
 |
 |
|
 |
 |
 |
|
|
 |
 |
|
Code (PHP)
<html>
<head>
<title>รบกวนด้วยนะครับ</title>
</head>
<body>
<?php
date_default_timezone_set('Asia/Bangkok');
?>
<table>
<tr align="center">
<td width="55%">ข่าว</td>
<td width="25%">ประกาศโดย</td>
<td width="20%">วันที่ประกาศ</td>
</tr>
<tr>
<td><?php echo DateThai('2014-03-24')?></td>
<td>อันว่ายาดีขมปากแต่โรคหาย</td>
<td>คำซื่อไม่เพราะแต่เป็นคุณ</td>
</tr>
</table>
</body>
</html>
<?php
function DateThai($strDate)
{
$strYear = date("Y",strtotime($strDate))+543;
$strMonth= date("n",strtotime($strDate));
$strDay= date("j",strtotime($strDate));
$strHour= date("H",strtotime($strDate));
$strMinute= date("i",strtotime($strDate));
$strSeconds= date("s",strtotime($strDate));
$strMonthCut = Array("","ม.ค.","ก.พ.","มี.ค.","เม.ย.","พ.ค.","มิ.ย.","ก.ค.","ส.ค.","ก.ย.","ต.ค.","พ.ย.","ธ.ค.");
$strMonthThai=$strMonthCut[$strMonth];
return "$strDay $strMonthThai $strYear" ;/*, $strHour:$strMinute";*/
}
//$strDate = "2008-08-14 13:42:44";
//echo "ThaiCreate.Com Time now : ".DateThai($strDate);
?>
|
 |
 |
 |
 |
Date :
2014-03-24 08:32:30 |
By :
love9713 |
|
 |
 |
 |
 |
|
|
 |
 |
|
 |
 |
 |
|
|
 |
 |
|
คำถาม ไม่ต้อง +- 543 ได้ไหม?
คำถาม ไม่ต้องประกาศ อะเรย์ {"มกราคม", ..., "ธันวาคม"} ได้ไหม?
ถ้าคุณรู้ว่าผมกำลังคิดอะไรอยู่? ผมกำลังจะพาคุณไปดูครับ ข้างล่างนี้คือบรรทัดเดียว
Code (VB.NET)
Dim myAlgorithm = New RegularExpressions.Regex("[0-9]").Replace("987654321",
New RegularExpressions.MatchEvaluator(
Function(s) {"๐", "๑", "๒", "๓", "๔", "๕", "๖", "๗", "๘", "๙"}(Integer.Parse(s.Value)))
)
มีต่อ...
|
 |
 |
 |
 |
Date :
2014-03-24 08:57:53 |
By :
love9713 |
|
 |
 |
 |
 |
|
|
 |
 |
|
 |
 |
 |
|
|
 |
 |
|
boss มาแล้ว
มีใครอยากล่าบอสกับเราไหม
https://www.thaicreate.com/php/forum/100228.html
คำถาม ไม่ต้อง +- 543 ได้ไหม?
- ไม่ได้อ่ะ php มันไม่ฉลาด มันไม่มี culture th-TH และเราเป็นชาติเดียวในโลกที่ใช้ พ.ศ.
คำถาม ไม่ต้องประกาศ อะเรย์ {"มกราคม", ..., "ธันวาคม"} ได้ไหม?
- เหมือนข้อ 1 ไม่ได้อ่ะ php มันไม่ฉลาด มันไม่มี culture th-TH
|
 |
 |
 |
 |
Date :
2014-03-24 09:11:45 |
By :
ห้ามตอบเกินวันละ 2 กระทู้ |
|
 |
 |
 |
 |
|
|
 |
 |
|
 |
 |
 |
|
|
 |
 |
|
บางครั้งมานั่งอ่านก็คิดว่า love9713 กับ ห้ามตอบเกินวันละ 2 กระทู้ คือคนคนเดียวกัน...
จะยังไงก็แล้วแต่ 2 id นี้ ยอมรับว่าเก่งเกิ๊น นับถือ
|
 |
 |
 |
 |
Date :
2014-03-24 15:43:42 |
By :
apisitp |
|
 |
 |
 |
 |
|
|
 |
 |
|
 |
 |
 |
|
|
 |
 |
|
ถามคุณ love9713 เขียนแค่บรรทัดเดียวได้มันสำคัญตรงไหน ต้องการสื่ออะไรครับ?
ถ้าให้ตอบ คุณไม่สามารถเขียน function นั้นในบรรทัดเดียวด้วย php ได้ครับ
แต่เขียนให้สั้นลง หรือให้มีประสิทธิภาพมากกว่าเดิม สามารถทำได้ครับ
|
 |
 |
 |
 |
Date :
2014-03-24 15:44:07 |
By :
บังเอิญผ่านมาเห็น |
|
 |
 |
 |
 |
|
|
 |
 |
|
 |
 |
 |
|
|
 |
 |
|
แบบนี้หรือเปล่า
echo "ThaiCreate.Com Time now : ".DateThai($show['new_date']);
มันจะเอาค่า $show['new_date'] ไปประมวลผลในฟังก์ชั่น แยกตามสูตรคูณแบบไทยๆ ถ้ายังทำไม่ได้ก็ไปนั่งกินขนมครกโบราณ(ต้องโบราณนะจึงอร่อย) และเหล่สาวๆสักครึ่งนาที เดี๋ยวสมองแล่นปรุ๊ดดปร๊าดดเลยครับ ถ้าไม่โดนผัวมันถีบเอาก่อน
ปล.เอามั่ง 555
|
 |
 |
 |
 |
Date :
2014-03-24 16:20:01 |
By :
phun |
|
 |
 |
 |
 |
|
|
 |
 |
|
 |
 |
 |
|
|
 |
 |
|
อย่าเลย คุณ phun เรื่องปรัชญา ตีความให้ได้ พีซูโด้โค้ด เอาไว้ให้คุณ love คนเดียวพอแล้ว
|
 |
 |
 |
 |
Date :
2014-03-24 18:21:55 |
By :
apisitp |
|
 |
 |
 |
 |
|
|
 |
 |
|
 |
 |
 |
|
|
 |
 |
|
ขอบคุณครับทุกคำตอบ
แต่ไม่มีใครเก่งแต่เกิดหรอกครับ
ทุกคนเค้าก็ต้องพยายามหาความรู้ใส่ตัวไปเรื่อยๆ แหละครับ
และความรู้จะหาได้จากที่ไหน ก็ต้องหาจากผู้รู้ทั้งนั้นแหละครับ ไม่ว่าจะทางไหนก็ตาม
|
 |
 |
 |
 |
Date :
2014-03-25 01:38:14 |
By :
sabaitip |
|
 |
 |
 |
 |
|
|
 |
 |
|
 |
 |
 |
|
|
 |
 |
|
ผมสังเกตุเห็นว่า PHP.INI จะมี Options Load PHP_Extentions = "*.DLL" อันนี้ผมไม่รู้ว่ามันทำได้อย่างไร?
บนสภาพแวดล้อมที่แตกต่างกัน Windows/Unix/Linux/etc...
การเปลี่ยนแปลง มันไม่ได้ราบรื่นหรือว่าดีกว่าเดิมเสมอไป ยกตัวอย่าง SourceCode ด้านล่างนี้ทำงานได้ดี พอมาถึงปัจจุบัน (.NET >= 4.0)
มันกลับใช้งานไม่ได้เป็นซะงั้นไป (ได้แต่ส่ายหน้า ครางหึหึหึ)
Code (VB.NET)
Public Shared Function TryParseExactUS2Thai(ByVal usDateTime As DateTime, Optional ByVal dateSeperate As String = "/") As String
'Config Web Server Timezone = US & Canada (-5)
'in web.config or app.config
'<globalization fileEncoding="utf-8" requestEncoding="utf-8" responseEncoding="utf-8" culture="en-US" uiCulture="en-US" enableClientBasedCulture="false"/>
Dim thCultureInfo As New System.Globalization.CultureInfo("th-TH") With {.DateTimeFormat = New Globalization.DateTimeFormatInfo() With
{.Calendar = New System.Globalization.ThaiBuddhistCalendar()
}
}
Try
Return usDateTime.ToString("yyyy" & dateSeperate & "MM" & dateSeperate & "dd" & " HH:mm:ss tt z g", thCultureInfo)
'Input Date : 2012/12/31 08:30:20 AM -5 A.D.
'Output String : 2555/12/31 20:30:20 PM +7 พ.ศ.
Catch ex As Exception
Return "N/A"
End Try
End Function
|
 |
 |
 |
 |
Date :
2014-03-25 05:32:07 |
By :
love9713 |
|
 |
 |
 |
 |
|
|
 |
 |
|
 |
 |
|
|