convertthai

package module
v1.0.5 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: May 19, 2026 License: MIT Imports: 6 Imported by: 0

README

convert-thai-go ✨

convert-thai-go is a Go package for formatting Thai dates, converting Arabic numerals to Thai numerals, and generating Thai Baht text.

แพ็กเกจสำหรับจัดรูปแบบวันที่ภาษาไทย แปลงเลขอารบิกเป็นเลขไทย และแปลงจำนวนเงินเป็นข้อความภาษาไทย


Features

  • Thai number formatting
  • Thai Baht text conversion
  • Thai date formatting
  • Multiple era support:
    • BE (Buddhist Era)
    • CE (Common Era)
    • MS (Mahasakaraj / Saka Era)
    • CS (Chulasakaraj Era)
    • RE (Rattanakosin Era)
    • HE (Hijri Era, approximate)

Installation

go get github.com/SiamCore/convert-thai-go

Usage

package main

import (
	"fmt"
	"time"

	convertthai "github.com/SiamCore/convert-thai-go"
)

func main() {

	// Thai number formatting
	num := convertthai.NumberFormat(1000, 2, true)
	fmt.Println(num)
	// Output: ๑,๐๐๐.๐๐

	// Thai Baht text
	baht := convertthai.ThaiBath(1000)
	fmt.Println(baht)
	// Output: หนึ่งพันบาทถ้วน

	// Thai date formatting
	date := convertthai.DateFormat(time.Now(), "dd-mm-yyyy", nil)
	fmt.Println(date)
	// Output: ๒๐-๐๕-๒๐๒๖

	// Buddhist Era (BE)
	era := "BE"
	dateBE := convertthai.DateFormat(time.Now(), "dd mmmm yyyy", &era)
	fmt.Println(dateBE)
	// Output: ๒๐ พฤษภาคม ๒๕๖๙
}

Date Format Tokens

Token Description Example
d Day without leading zero
dd Day with leading zero ๐๑
ddd Short weekday
dddd Full weekday จันทร์
m Month without leading zero
mm Month with leading zero ๐๑
mmm Short month ม.ค.
mmmm Full month มกราคม
yy Two-digit year ๖๙
yyyy Full year ๒๕๖๙
H Hour without leading zero
HH Hour with leading zero ๐๙
M Minute without leading zero
MM Minute with leading zero ๐๕
S Second without leading zero
SS Second with leading zero ๐๘

Format Examples

Format Example
dd/mm/yyyy ๑๘/๐๙/๒๕๖๙
dd/mm/yy ๑๘/๐๙/๖๙
yyyy/mm/dd ๒๕๖๙/๐๙/๑๘
HH:MM:SS ๐๗:๓๐:๒๕
dd mmm yyyy ๑๘ ก.ย. ๒๕๖๙
dd mmmm yyyy ๑๘ กันยายน ๒๕๖๙
ddd dd mmm yyyy พ ๑๘ ก.ย. ๒๕๖๙
dddd dd mmmm yyyy พุธ ๑๘ กันยายน ๒๕๖๙
dd/mm/yyyy HH:MM:SS ๑๘/๐๙/๒๕๖๙ ๐๗:๓๐:๒๕

Supported Eras

Era Description Example
BE Buddhist Era (พ.ศ.) ๒๕๖๙
CE Common Era / Christian Era (ค.ศ.) ๒๐๒๖
MS Mahasakaraj / Saka Era (มหาศักราช) ๑๙๔๘
CS Chulasakaraj Era (จุลศักราช) ๑๓๘๘
RE Rattanakosin Era (รัตนโกสินทรศก) ๒๔๕
HE Hijri Era (ฮิจเราะห์ศักราช, approximate) ๑๔๔๗

Note

  • BE is used by default.
  • HE uses approximate conversion.
  • Input string format currently supports 2006-01-02.

Documentation

Index

Constants

View Source
const (
	BE = "BE" // พ.ศ. (BE) Buddhist Era
	CE = "CE" // ค.ศ. (CE) Common Era
	MS = "MS" // ม.ศ. (MS) Mahasakaraj / Saka Era
	JE = "JE" // จ.ศ. (JE) Chulasakaraj Era
	RE = "RE" // ร.ศ. (RE) Rattanakosin Era
	HE = "HE" // ฮ.ศ. (HE) Hijri Era (approximate)
)

Variables

This section is empty.

Functions

func DateFormat

func DateFormat(date interface{}, format string, era *string) string

func NumberFormat

func NumberFormat(number float64, decimals int, thousandsSeparator bool) string

func ThaiBath

func ThaiBath(number float64) string

Types

This section is empty.

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL