Documentation icon คู่มือการใช้งานมอดูล[ดู] [แก้] [ประวัติ] [ล้างแคช]

มอดูลนี้รวบรวมเครื่องมือช่วยเหลือในการจัดการกับวันที่ในบริบทของวิกิพีเดียภาษาไทย

การใช้งาน แก้

{{#invoke:DateUtils|ชื่อฟังก์ชัน}}

replaceThaiMonthName แก้

แทนที่ชื่อเดือนภาษาไทยทั้งเต็มและย่อด้วยชื่อเดือนรูปแบบภาษาอังกฤษ มีประโยชน์สำหรับการนำค่าวันที่จากผู้ใช้ไปประมวลผลต่อ

{{#invoke:DateUtils|replaceThaiMonthName|วันที่}}
ตัวอย่าง
{{#time:r|{{#invoke:DateUtils|replaceThaiMonthName|12 กรกฎาคม 2023}}}} → Wed, 12 Jul 2023 00:00:00 +0000

จากปกติ Error

local p = {}
local months = {
	"มกราคม",
	"กุมภาพันธ์",
	"มีนาคม",
	"เมษายน",
	"พฤษภาคม",
	"มิถุนายน",
	"กรกฎาคม",
	"สิงหาคม",
	"กันยายน",
	"ตุลาคม",
	"พฤศจิกายน",
	"ธันวาคม",
	"ม.ค.",
	"ก.พ.",
	"มี.ค.",
	"เม.ย.",
	"พ.ค.",
	"มิ.ย.",
	"ก.ค.",
	"ส.ค.",
	"ก.ย.",
	"ต.ค.",
	"พ.ย.",
	"ธ.ค."
}

local monthsEn = {
	"January",
	"February",
	"March",
	"April",
	"May",
	"June",
	"July",
	"August",
	"September",
	"October",
	"November",
	"December",
	"Jan",
	"Feb",
	"Mar",
	"Apr",
	"May",
	"Jun",
	"Jul",
	"Aug",
	"Sep",
	"Oct",
	"Nov",
	"Dec"
}

function p._replacer(sources, target, str)
	if #sources ~= #target then
		error("sources and targets dict is not the same size")
	end
	for i, v in ipairs( sources ) do
		str = string.gsub(str, sources[i], target[i])
	end
	return str
end

-- แทนที่ชื่อเดือนภาษาไทยเป็นภาษาอังกฤษ
function p.replaceThaiMonthName(frame)
	return p._replaceThaiMonthName(frame.args[1])
end

-- สำหรับโหลดจากมอดูลอื่น
function p._replaceThaiMonthName(str)
	return p._replacer(months, monthsEn, str)
end

-- สำหรับมอดูลอื่นโหลดไปใช้
p._thaiMonthNames = months
p._englishMonthNames = monthsEn

return p