Làm cách nào để lưu trữ ngày và giờ trong MySQL bằng php?

Dấu thời gian là một chuỗi các ký tự, biểu thị ngày và/hoặc thời gian xảy ra một sự kiện nhất định

Kiếm một buổi hẹn hò

Tham số định dạng bắt buộc của hàm date[] chỉ định cách định dạng ngày [hoặc thời gian]

Dưới đây là một số ký tự thường được sử dụng cho ngày tháng

  • d - Thể hiện ngày trong tháng [01 đến 31]
  • m - Đại diện cho một tháng [01 đến 12]
  • Y - Đại diện cho một năm [bằng bốn chữ số]
  • l [chữ thường 'L'] - Đại diện cho ngày trong tuần

Các ký tự khác, như "/", ". ", hoặc "-" cũng có thể được chèn vào giữa các ký tự để thêm định dạng bổ sung

Ví dụ bên dưới định dạng ngày hôm nay theo ba cách khác nhau

Ví dụ

echo "Hôm nay là ". ngày["Y/m/d"]. "
";
echo "Hôm nay là ". ngày ["Y. m. d"]. "
";
echo "Hôm nay là ". ngày ["Y-m-d"]. "
";
echo "Hôm nay là ". ngày["l"];
?>

Tự mình thử »

Mẹo PHP - Năm bản quyền tự động

Sử dụng hàm

php > print date["r", $unixTime];
Tue, 20 Dec 2011 12:54:48 -0500
4 để tự động cập nhật năm bản quyền trên website của bạn

có được một thời gian

Dưới đây là một số ký tự thường được sử dụng cho thời gian

  • H - định dạng 24 giờ của một giờ [00 đến 23]
  • h - Định dạng 12 giờ của một giờ với các số 0 đứng đầu [01 đến 12]
  • i - Phút có số 0 đứng đầu [00 đến 59]
  • s - Giây có số 0 đứng đầu [00 đến 59]
  • a - Chữ thường Ante meridiem và Post meridiem [sáng hoặc chiều]

Ví dụ dưới đây xuất thời gian hiện tại ở định dạng đã chỉ định

Lưu ý rằng hàm PHP date[] sẽ trả về ngày/giờ hiện tại của máy chủ

Nhận múi giờ của bạn

Nếu thời gian bạn nhận được mã không chính xác, có thể là do máy chủ của bạn ở một quốc gia khác hoặc được thiết lập cho một múi giờ khác

Vì vậy, nếu bạn cần thời gian chính xác theo một địa điểm cụ thể, bạn có thể đặt múi giờ bạn muốn sử dụng

Ví dụ bên dưới đặt múi giờ thành "America/New_York", sau đó xuất thời gian hiện tại theo định dạng đã chỉ định

Ví dụ

date_default_timezone_set["America/New_York"];
echo "The time is ". ngày ["h. i. sa"];
?>

Tự mình thử »

Tạo một ngày Với mktime[]

Tham số dấu thời gian tùy chọn trong hàm date[] chỉ định dấu thời gian. Nếu bỏ qua, ngày và giờ hiện tại sẽ được sử dụng [như trong các ví dụ trên]

Hàm PHP

php > print date["r", $unixTime];
Tue, 20 Dec 2011 12:54:48 -0500
5 trả về dấu thời gian Unix cho một ngày. Dấu thời gian Unix chứa số giây giữa Kỷ nguyên Unix [ngày 1 tháng 1 năm 1970 00. 00. 00 GMT] và thời gian được chỉ định

cú pháp

mktime[giờ, phút, giây, tháng, ngày, năm]

Ví dụ bên dưới tạo ngày và giờ bằng hàm

php > print date["r", $unixTime];
Tue, 20 Dec 2011 12:54:48 -0500
4 từ một số tham số trong hàm
php > print date["r", $unixTime];
Tue, 20 Dec 2011 12:54:48 -0500
5

Ví dụ

$d=mktime[11, 14, 54, 8, 12, 2014];
echo "Ngày tạo là ". ngày ["Y-m-d h. i. sa", $d];
?>

Tự mình thử »

Tạo một ngày từ một chuỗi với strtotime[]

Hàm PHP

php > print date["r", $unixTime];
Tue, 20 Dec 2011 12:54:48 -0500
8 được sử dụng để chuyển đổi chuỗi ngày có thể đọc được của con người thành dấu thời gian Unix [số giây kể từ ngày 1 tháng 1 năm 1970 00. 00. 00 giờ GMT]

Theo kinh nghiệm của tôi và vì những lý do bạn đã khám phá, sử dụng dấu thời gian trong cơ sở dữ liệu của bạn là giải pháp tốt nhất

Biệt phái hết lòng

Quay trở lại khi tôi sử dụng thời gian Unix [số giây đã trôi qua kể từ ngày 1 tháng 1 năm 1970] vì nó hoạt động tốt với mã

Nhưng tôi chưa bao giờ thực sự quan tâm đến nó nhiều vì nhìn thấy những thứ như “437654876” hoặc bất cứ thứ gì chẳng có ý nghĩa gì đối với tôi. Tôi chắc chắn không muốn “dịch” nó trong đầu sang định dạng mà tôi quen thuộc hơn ngay cả khi tôi biết cách

Đối với tôi, tôi quen diễn đạt ngày/giờ như
“31 tháng 8 năm 2016 4. 26. 52 giờ chiều”

Vì vậy, có một số cám dỗ để lưu trữ ngày/giờ trong cơ sở dữ liệu như thế. Hoặc có thể như “31-08-2016 4. 26. 52 giờ chiều”, v.v.

Khi làm việc với bất kỳ ngôn ngữ lập trình nào, xử lý ngày tháng và thời gian thường là một nhiệm vụ tầm thường và đơn giản. Đó là, cho đến khi múi giờ phải được hỗ trợ. May mắn thay, PHP có một trong những bộ công cụ ngày/giờ mạnh mẽ nhất giúp bạn xử lý tất cả các loại vấn đề liên quan đến thời gian. Dấu thời gian Unix, định dạng ngày cho tiêu dùng của con người, hiển thị thời gian theo múi giờ, sự khác biệt giữa bây giờ và thứ Ba thứ hai của tháng tiếp theo, v.v. Trong bài viết này, tôi sẽ giới thiệu cho bạn những kiến ​​thức cơ bản về các hàm thời gian của PHP [

php > print date["r", $unixTime];
Tue, 20 Dec 2011 12:54:48 -0500
3,
php > print date["r", $unixTime];
Tue, 20 Dec 2011 12:54:48 -0500
4 và
php > print date["r", $unixTime];
Tue, 20 Dec 2011 12:54:48 -0500
5] và các đối tượng hướng đối tượng của chúng, sau đó hãy xem các ngày của MySQL và chỉ cho bạn cách làm cho chúng hoạt động độc đáo với PHP

Các hàm ngày và giờ trong PHP

Phần lớn bài viết này sẽ hoạt động với thời gian Unix, hoặc POSIX hoặc thời gian kỷ nguyên như cách gọi khác. Thời gian được biểu thị dưới dạng phần bù theo số giây đã trôi qua kể từ nửa đêm ngày 1 tháng 1 năm 1970, UTC. Nếu bạn quan tâm đến lịch sử đầy đủ của thời gian Unix, hãy xem bài viết về thời gian Unix trên Wikipedia

UTC, còn được biết với tên đầy đủ là Giờ phối hợp quốc tế, còn được gọi là GMT, và đôi khi là giờ Zulu, là thời gian ở kinh độ 0 độ. Tất cả các múi giờ khác trên thế giới được thể hiện dưới dạng độ lệch dương hoặc âm từ thời điểm này. Xử lý thời gian theo thời gian UTC và Unix sẽ giúp cuộc sống của bạn dễ dàng hơn khi bạn cần xử lý các múi giờ. Tôi sẽ nói nhiều hơn về điều này sau, nhưng bây giờ hãy bỏ qua các vấn đề về múi giờ và xem xét một số hàm thời gian

Lấy thời gian Unix hiện tại

php > print date["r", $unixTime];
Tue, 20 Dec 2011 12:54:48 -0500
3 không nhận đối số và trả về số giây kể từ kỷ nguyên Unix. Để minh họa điều này, tôi sẽ sử dụng trình bao CLI tương tác PHP

sean@beerhaus:~$ php -a
php > print time[];
1324402770

Nếu bạn cần một mảng đại diện cho thời gian Unix, hãy sử dụng hàm

php > print date["r", $unixTime];
Tue, 20 Dec 2011 12:54:48 -0500
7. Nó nhận một đối số dấu thời gian Unix tùy chọn, nhưng mặc định là giá trị của
php > print date["r", $unixTime];
Tue, 20 Dec 2011 12:54:48 -0500
3 nếu không được cung cấp

php > $unixTime = time[];
php > print_r[getdate[$unixTime]];
Array
[
   [seconds] => 48
   [minutes] => 54
   [hours] => 12
   [mday] => 20
   [wday] => 2
   [mon] => 12
   [year] => 2011
   [yday] => 353
   [weekday] => Tuesday
   [month] => December
   [0] => 1324403688
]

Định dạng thời gian Unix

Thời gian Unix có thể dễ dàng được định dạng thành bất kỳ chuỗi nào mà con người muốn đọc.

php > print date["r", $unixTime];
Tue, 20 Dec 2011 12:54:48 -0500
5 được sử dụng để định dạng dấu thời gian Unix thành chuỗi có thể đọc được của con người và nhận đối số định dạng và đối số thời gian tùy chọn. Nếu dấu thời gian tùy chọn không được cung cấp, giá trị của
php > print date["r", $unixTime];
Tue, 20 Dec 2011 12:54:48 -0500
3 được sử dụng

php > print date["r", $unixTime];
Tue, 20 Dec 2011 12:54:48 -0500

Chuỗi định dạng “r” trả về thời gian được định dạng theo quy định của RFC 2822. Tất nhiên, bạn có thể sử dụng các công cụ xác định khác để xác định các định dạng tùy chỉnh của riêng mình

php > print date["r", $unixTime];
Tue, 20 Dec 2011 12:54:48 -0500
1

Để biết toàn bộ danh sách các ký tự định dạng được chấp nhận, hãy xem trang dành cho

php > print date["r", $unixTime];
Tue, 20 Dec 2011 12:54:48 -0500
5 trong tài liệu PHP. Tuy nhiên, hàm này trở nên hữu ích hơn khi được kết hợp với các hàm
php > print date["r", $unixTime];
Tue, 20 Dec 2011 12:54:48 -0500
4 và
php > print date["r", $unixTime];
Tue, 20 Dec 2011 12:54:48 -0500
13, như bạn sẽ thấy trong các ví dụ sắp tới

Tạo thời gian Unix từ một thời điểm nhất định

php > print date["r", $unixTime];
Tue, 20 Dec 2011 12:54:48 -0500
4 được sử dụng để tạo dấu thời gian Unix được cung cấp danh sách các giá trị tương ứng với từng phần của ngày [giây, phút, giờ, năm, v.v.]. Phải mất một số đối số nguyên để đặt từng phần của ngày theo thứ tự này

php > print date["r", $unixTime];
Tue, 20 Dec 2011 12:54:48 -0500
6

Bạn đặt

php > print date["r", $unixTime];
Tue, 20 Dec 2011 12:54:48 -0500
15 thành 1 nếu tiết kiệm ánh sáng ban ngày có hiệu lực, 0 nếu không và -1 nếu không xác định [giá trị mặc định]

php > print date["r", $unixTime];
Tue, 20 Dec 2011 12:54:48 -0500
8

Bạn có thể thấy rằng

php > print date["r", $unixTime];
Tue, 20 Dec 2011 12:54:48 -0500
4 có thể rất hữu ích khi xử lý các truy vấn cơ sở dữ liệu sử dụng phạm vi ngày do người dùng tùy chỉnh. Ví dụ: nếu bạn đang lưu trữ dấu thời gian dưới dạng số nguyên [thời gian Unix] trong MySQL [báo trước cho ai?], thì rất dễ dàng để thiết lập phạm vi truy vấn phổ biến từ đầu năm đến nay

php > print date["r", $unixTime];
Tue, 20 Dec 2011 12:54:48 -0500
0

Phân tích cú pháp Ngày tiếng Anh thành Giờ Unix

Hàm gần như kỳ diệu

php > print date["r", $unixTime];
Tue, 20 Dec 2011 12:54:48 -0500
13 lấy một chuỗi định dạng ngày/giờ làm đối số đầu tiên và dấu thời gian Unix để sử dụng làm cơ sở cho việc chuyển đổi. Xem tài liệu để biết các định dạng ngày được chấp nhận

php > print date["r", $unixTime];
Tue, 20 Dec 2011 12:54:48 -0500
2

Các đối tượng DateTime và DateTimeZone của PHP

Đối tượng

php > print date["r", $unixTime];
Tue, 20 Dec 2011 12:54:48 -0500
18 của PHP là cách tiếp cận hướng đối tượng để xử lý ngày và múi giờ. Phương thức khởi tạo chấp nhận biểu diễn chuỗi thời gian, rất giống với
php > print date["r", $unixTime];
Tue, 20 Dec 2011 12:54:48 -0500
13 ở trên và một số người có thể thấy điều này dễ chịu hơn khi làm việc với. Giá trị mặc định nếu không có đối số nào được cung cấp là “now”

php > print date["r", $unixTime];
Tue, 20 Dec 2011 12:54:48 -0500
5

Phương thức

php > print date["r", $unixTime];
Tue, 20 Dec 2011 12:54:48 -0500
61 của
php > print date["r", $unixTime];
Tue, 20 Dec 2011 12:54:48 -0500
18 hoạt động giống như hàm date[] ở trên và chấp nhận tất cả các ký tự định dạng giống nhau. Các đối tượng
php > print date["r", $unixTime];
Tue, 20 Dec 2011 12:54:48 -0500
18 cũng đi kèm với một vài hằng số hữu ích có thể được cung cấp cho phương thức
php > print date["r", $unixTime];
Tue, 20 Dec 2011 12:54:48 -0500
61

php > print date["r", $unixTime];
Tue, 20 Dec 2011 12:54:48 -0500
0

Bạn có thể tìm thấy danh sách đầy đủ các hằng số trên trang tài liệu

php > print date["r", $unixTime];
Tue, 20 Dec 2011 12:54:48 -0500
18

Vì chúng ta sẽ sớm xử lý các múi giờ, hãy cung cấp cho PHP một múi giờ mặc định để sử dụng. Trong tệp cấu hình

php > print date["r", $unixTime];
Tue, 20 Dec 2011 12:54:48 -0500
65 của bạn [tôi có một cho CLI và một cho Apache], hãy tìm phần giống như thế này

php > $unixTime = time[];
php > print_r[getdate[$unixTime]];
Array
[
   [seconds] => 48
   [minutes] => 54
   [hours] => 12
   [mday] => 20
   [wday] => 2
   [mon] => 12
   [year] => 2011
   [yday] => 353
   [weekday] => Tuesday
   [month] => December
   [0] => 1324403688
]
0

Khi không có giá trị nào được cung cấp cho

php > print date["r", $unixTime];
Tue, 20 Dec 2011 12:54:48 -0500
66, PHP sẽ cố gắng hết sức để xác định múi giờ hệ thống như được đặt trên máy chủ của bạn. Bạn có thể kiểm tra xem PHP đang sử dụng giá trị nào với
php > print date["r", $unixTime];
Tue, 20 Dec 2011 12:54:48 -0500
67

php > $unixTime = time[];
php > print_r[getdate[$unixTime]];
Array
[
   [seconds] => 48
   [minutes] => 54
   [hours] => 12
   [mday] => 20
   [wday] => 2
   [mon] => 12
   [year] => 2011
   [yday] => 353
   [weekday] => Tuesday
   [month] => December
   [0] => 1324403688
]
1

Hãy đặt múi giờ của máy chủ thành thời gian UTC [

php > print date["r", $unixTime];
Tue, 20 Dec 2011 12:54:48 -0500
68] và lưu tệp cấu hình. Bạn sẽ phải khởi động lại Apache hoặc trình bao CLI để xem các thay đổi

Các đối tượng

php > print date["r", $unixTime];
Tue, 20 Dec 2011 12:54:48 -0500
18 của PHP bao gồm một thể hiện của lớp
php > print date["r", $unixTime];
Tue, 20 Dec 2011 12:54:48 -0500
80 bên trong để theo dõi các múi giờ. Khi bạn tạo một phiên bản mới của
php > print date["r", $unixTime];
Tue, 20 Dec 2011 12:54:48 -0500
18,
php > print date["r", $unixTime];
Tue, 20 Dec 2011 12:54:48 -0500
80 nội bộ sẽ được đặt thành mặc định của bạn được cung cấp trong
php > print date["r", $unixTime];
Tue, 20 Dec 2011 12:54:48 -0500
65

php > $unixTime = time[];
php > print_r[getdate[$unixTime]];
Array
[
   [seconds] => 48
   [minutes] => 54
   [hours] => 12
   [mday] => 20
   [wday] => 2
   [mon] => 12
   [year] => 2011
   [yday] => 353
   [weekday] => Tuesday
   [month] => December
   [0] => 1324403688
]
2

Bạn có thể tìm thấy danh sách đầy đủ các tên múi giờ được chấp nhận trên trang tài liệu về múi giờ

Bây giờ bạn có thể thấy sự khác biệt về thời gian khi hai đối tượng

php > print date["r", $unixTime];
Tue, 20 Dec 2011 12:54:48 -0500
18 có múi giờ khác nhau. Ví dụ: đây là mẫu chuyển đổi từ giờ UTC sang giờ Mỹ/New_York [EST]

php > $unixTime = time[];
php > print_r[getdate[$unixTime]];
Array
[
   [seconds] => 48
   [minutes] => 54
   [hours] => 12
   [mday] => 20
   [wday] => 2
   [mon] => 12
   [year] => 2011
   [yday] => 353
   [weekday] => Tuesday
   [month] => December
   [0] => 1324403688
]
3

Lưu ý phần bù -0500 cho tháng 12. Nếu bạn thay đổi giá trị thời gian thành ngày mùa hè, chẳng hạn như ngày 1 tháng 7, bạn sẽ thấy giá trị đó là Giờ tiết kiệm ánh sáng ban ngày [EDT]

php > $unixTime = time[];
php > print_r[getdate[$unixTime]];
Array
[
   [seconds] => 48
   [minutes] => 54
   [hours] => 12
   [mday] => 20
   [wday] => 2
   [mon] => 12
   [year] => 2011
   [yday] => 353
   [weekday] => Tuesday
   [month] => December
   [0] => 1324403688
]
4

Sử dụng ngày với MySQL và PHP

Nếu bạn đã sử dụng MySQL ở bất kỳ cấp độ nào, có lẽ bạn đã nhận thấy loại

php > print date["r", $unixTime];
Tue, 20 Dec 2011 12:54:48 -0500
85 được cung cấp sẵn. Nó trông và có mùi giống như một cuộc hẹn hò, và nếu bạn nói đó là một cuộc hẹn hò thì bạn sẽ đúng. Nhưng một khi bạn đã
php > print date["r", $unixTime];
Tue, 20 Dec 2011 12:54:48 -0500
86 chuyển nó ra khỏi MySQL và vào PHP, tất cả những gì bạn thực sự có là một chuỗi trông giống như một ngày tháng. Nó không có nhận thức về múi giờ và đã được định dạng để con người sử dụng trước khi con người cần nhìn vào nó. *

* Vâng, tôi biết MySQL có rất nhiều chức năng định dạng ngày tháng, nhưng chúng tôi cũng đang xử lý PHP, như bạn đã thấy, nó rất khó xử lý các định dạng ngày tháng. Tại sao chúng ta lại muốn nó được định dạng ngay từ cơ sở dữ liệu? . Tốt nhất là chỉ định dạng ngày của bạn khi một người sắp nhìn thấy nó

php > $unixTime = time[];
php > print_r[getdate[$unixTime]];
Array
[
   [seconds] => 48
   [minutes] => 54
   [hours] => 12
   [mday] => 20
   [wday] => 2
   [mon] => 12
   [year] => 2011
   [yday] => 353
   [weekday] => Tuesday
   [month] => December
   [0] => 1324403688
]
5

Chạy tập lệnh đơn giản này, bạn có thể thấy rằng tất cả những gì bạn có từ trường

php > print date["r", $unixTime];
Tue, 20 Dec 2011 12:54:48 -0500
85 là một chuỗi được định dạng không có thông tin múi giờ

php > $unixTime = time[];
php > print_r[getdate[$unixTime]];
Array
[
   [seconds] => 48
   [minutes] => 54
   [hours] => 12
   [mday] => 20
   [wday] => 2
   [mon] => 12
   [year] => 2011
   [yday] => 353
   [weekday] => Tuesday
   [month] => December
   [0] => 1324403688
]
6

Giá trị

php > print date["r", $unixTime];
Tue, 20 Dec 2011 12:54:48 -0500
85 là giờ địa phương của máy chủ đang chạy MySQL ở bất kỳ múi giờ nào. Nếu tất cả những gì bạn đang làm chỉ liên quan đến một máy chủ ở một múi giờ, thì
php > print date["r", $unixTime];
Tue, 20 Dec 2011 12:54:48 -0500
85 có thể sẽ phù hợp với hầu hết các nhu cầu của bạn và tôi rất ghen tị với bạn

Vậy làm thế nào để bạn xử lý ngày tháng và múi giờ với PHP và MySQL?

Bạn đã biết rằng thời gian Unix là số giây kể từ ngày 1 tháng 1 năm 1970 theo giờ UTC, vì vậy nó cung cấp cho bạn múi giờ cố định để làm việc và hy vọng bạn đã nhận thấy rằng nhiều hàm ngày/giờ của PHP dựa trên Unix

Khi làm việc với MySQL, tôi thường tạo các cột trong bảng sẽ lưu trữ ngày tháng dưới dạng

php > print date["r", $unixTime];
Tue, 20 Dec 2011 12:54:48 -0500
00. Khi chèn một ngày, bạn có thể sử dụng
php > print date["r", $unixTime];
Tue, 20 Dec 2011 12:54:48 -0500
3 từ PHP hoặc
php > print date["r", $unixTime];
Tue, 20 Dec 2011 12:54:48 -0500
02 từ MySQL

php > $unixTime = time[];
php > print_r[getdate[$unixTime]];
Array
[
   [seconds] => 48
   [minutes] => 54
   [hours] => 12
   [mday] => 20
   [wday] => 2
   [mon] => 12
   [year] => 2011
   [yday] => 353
   [weekday] => Tuesday
   [month] => December
   [0] => 1324403688
]
7

Nếu bạn muốn MySQL định dạng ngày, bạn có thể. Tuy nhiên, thời gian sẽ ở múi giờ của máy chủ và tôi khuyên bạn nên giữ mọi loại định dạng cho đến khi bạn ở cấp độ mẫu/chế độ xem trong ứng dụng web của mình và sẵn sàng để mắt người nhìn thấy nó

php > $unixTime = time[];
php > print_r[getdate[$unixTime]];
Array
[
   [seconds] => 48
   [minutes] => 54
   [hours] => 12
   [mday] => 20
   [wday] => 2
   [mon] => 12
   [year] => 2011
   [yday] => 353
   [weekday] => Tuesday
   [month] => December
   [0] => 1324403688
]
8

Trong bất kỳ ứng dụng mở rộng múi giờ nào, thông thường bạn sẽ có một bảng theo dõi cài đặt múi giờ tùy chỉnh của người dùng, bảng này sau đó sẽ được đọc thành giá trị

php > print date["r", $unixTime];
Tue, 20 Dec 2011 12:54:48 -0500
03. Giả sử bạn có một mục phiên giống như thế này

php > $unixTime = time[];
php > print_r[getdate[$unixTime]];
Array
[
   [seconds] => 48
   [minutes] => 54
   [hours] => 12
   [mday] => 20
   [wday] => 2
   [mon] => 12
   [year] => 2011
   [yday] => 353
   [weekday] => Tuesday
   [month] => December
   [0] => 1324403688
]
9

Bạn có thể dễ dàng chuyển đổi thời gian Unix được lưu trữ [theo UTC] thành bất kỳ ngày nào trong múi giờ của người dùng cụ thể

php > print date["r", $unixTime];
Tue, 20 Dec 2011 12:54:48 -0500
0

Điều này sẽ dẫn đến ngày “Mon, 16 Jan 2012 12. 03. 49 -0600”. -0600 cho bạn biết là chậm hơn 6 giờ so với UTC, có độ lệch là 0

Nếu chúng tôi thay đổi cài đặt múi giờ thành America/Los_Angeles, ngày kết quả sẽ là

php > print date["r", $unixTime];
Tue, 20 Dec 2011 12:54:48 -0500
1

Và America/New_York sẽ mang lại

php > print date["r", $unixTime];
Tue, 20 Dec 2011 12:54:48 -0500
2

Tóm lược

Xử lý ngày tháng và múi giờ là một phần cuộc sống hàng ngày của nhiều lập trình viên, nhưng không có gì phải lo lắng khi bạn có các thư viện ngày tháng mạnh mẽ và dễ sử dụng của PHP để làm việc.

Bạn đã thấy việc lấy dấu thời gian Unix dễ dàng như thế nào, cách định dạng ngày thành bất kỳ định dạng nào có thể tưởng tượng được, cách phân tích cú pháp biểu thị ngày tháng bằng tiếng Anh thành dấu thời gian, cách thêm khoảng thời gian vào dấu thời gian và . Nếu có hai điểm chính cần rút ra từ bài viết, thì đó là 1] gắn bó với thời gian Unix và 2] gắn bó với UTC làm múi giờ cơ sở cho tất cả các ngày khi làm việc với PHP và MySQL

Ý tưởng luôn dựa trên UTC không phải là ý tưởng chỉ áp dụng cho PHP và MySQL; . Và nếu bạn thấy mình đang làm việc với một ngôn ngữ khác, rất có thể bạn sẽ tự nhủ “Chết tiệt, tại sao họ không thể làm được như PHP?”

Hình ảnh qua Yakobchuk Vasyl / Shutterstock

Chia sẻ bài viết này

Sean Hudgston

Sean Hudgston là một người cân bằng sống và làm việc như một kỹ sư phần mềm ở Syracuse, NY. Sean có bằng Khoa học Máy tính và khi không làm những việc liên quan đến lĩnh vực đó, anh ấy thích nấu bia, pha cà phê, trồng hoa bia, nấu ăn, chơi gôn đĩa, cắt cỏ và chơi ghi-ta hoặc bass tùy theo tình hình.

Làm cách nào để chèn ngày và giờ trong MySQL bằng php?

Phương pháp đơn giản nhất để chèn ngày giờ hiện tại vào MySQL là sử dụng hàm now[] . Khi bạn gọi hàm, nó sẽ trả về ngày và giờ hiện tại theo múi giờ được định cấu hình của hệ thống dưới dạng chuỗi. Giá trị được trả về từ hàm now[] là YYYY-MM-DD cho ngày và HH-MM-SS-UU cho bản ghi thời gian.

Làm cách nào để lưu trữ ngày trong MySQL bằng php?

Định dạng PHP date[] khi chèn vào datetime trong MySQL . MM. định dạng SS' YYYY-MM-DD HH:MM:SS' format . Ngày chỉ có thể được lưu trữ ở định dạng này. Tuy nhiên, nó có thể được sử dụng với bất kỳ chức năng định dạng thời gian nào để thay đổi và hiển thị nó.

Làm cách nào để lưu trữ ngày giờ hiện tại trong MySQL?

Để chỉ chèn giá trị ngày tháng, hãy sử dụng curdate[] trong MySQL. Cùng với đó, nếu bạn muốn lấy toàn bộ thời gian, thì bạn có thể sử dụng phương thức now[]. Chèn cả ngày và giờ với sự trợ giúp của now[] .

Làm cách nào để tự động chèn ngày và giờ trong MySQL?

Bạn có thể sử dụng now[] với tính năng tự động điền mặc định và ngày giờ hiện tại cho việc này. Sau này, bạn có thể trích xuất phần ngày tháng bằng hàm date[]. Hãy để chúng tôi đặt giá trị mặc định với một số ngày.

Chủ Đề