อักขระใดที่อาจใช้แทนโคลอนในชื่อโฟลเดอร์โดยใช้เวลาในแต่ละวัน


8

มักสะดวกในการตั้งชื่อไฟล์และโฟลเดอร์ด้วยวันที่และเวลาเช่นมาตรฐาน ISO 8601 รูปแบบ: 2014-12-10T22:35:28.460Z.

น่าเสียดายที่ Mac ระบบไฟล์ HFS + ใช้ COLON เป็นตัวคั่นพา ธ เช่นเดียวกับระบบปฏิบัติการ Unix ที่มีลักษณะคล้าย Unix ใช้ SOLIDUS / (สแลช) และ Microsoft OS ใช้ REVERSE SOLIDUS \ (ทับขวา) ต้องหลีกเลี่ยงอักขระทั้งสามเมื่อตั้งชื่อไฟล์หรือโฟลเดอร์เพื่อความเข้ากันได้

โดยทั่วไปอาจใช้อักขระใดแทน COLON

  • ใช้ยัติภังค์ - ทำให้เป็นการยากที่จะแปลงกลับเป็นรูปแบบมาตรฐานโดยทางโปรแกรม
  • ในทำนองเดียวกันใช้ FULL STOP . (จุด) ทำให้การแปลงแบบย้อนกลับเป็นเรื่องยากเพราะจะถูกตีความผิด ๆ เป็นเสี้ยววินาที

ตัวอย่างเช่นเมื่อเขียนโปรแกรมใน Java 8 บน OS X Mountain Lion การโทร File::mkdir() สำหรับสตริง 2014-12-11T21:33:08 ผลลัพธ์ในโฟลเดอร์ชื่อ 2014-12-11T21/33/08.


3
ค่อนข้างทันสมัยระบบไฟล์ทั้งหมดสนับสนุนพื้นที่ในชื่อไฟล์ นอกจากนี้หากความสามารถในการอ่านไม่ใช่เรื่องที่น่ากังวลทำไมไม่เพียง แต่กำจัดตัวอักษรที่ละเมิดออกไปและใช้รูปแบบที่กำหนดไว้เช่น: YYYYMMMMDDTHHMMSSZ
Brian Duke

ทำไมไม่ใช้เพียงแค่: ดูเหมือนว่าจะทำงานตกลงจากเปลือก ฉันสงสัยเฉพาะ OS & lt; = 9 และ classic มีปัญหากับ: ดังนั้นทุกวันนี้จึงเป็นปัญหา AL: ดังนั้นระบบปฏิบัติการ MS สามารถใช้ / เป็นการแบ่งไดเรกทอรี
Mark

@Mark Finder รุ่นทันสมัยอาจใช้เครื่องหมายจุดคู่ แต่ในระหว่างการเข้าถึงโปรแกรมปัญหาเกิดขึ้น
Basil Bourque

ฉันไม่เคยมีปัญหาในการเข้าถึงไฟล์ที่มีเครื่องหมายโคลอนในชื่อ มันดูแปลก ๆ จาก Finder เพราะมันเปลี่ยนเป็นเครื่องหมายทับ
0942v8653

2
โดยเฉพาะ HFS + อนุญาตให้ชื่อไฟล์มี / แต่ไม่ใช่โคลอน เมื่ออยู่ในเทอร์มินัล (หรือที่ใดก็ตามที่เข้าถึงระบบไฟล์โดยใช้ POSIX API แทน Macintosh API) / ในชื่อที่เก็บไว้บนดิสก์จะถูกแปลเป็น: ใน RAM และ: ใน RAM ถูกแปลกลับไปเป็น / ถูกเก็บไว้ในแคตตาล็อก โปรแกรมที่ใช้ Macintosh API แบบดั้งเดิมจะไม่ได้รับผลกระทบและดู / เพียงตามที่ปรากฏบนดิสก์ วิธีนี้แต่ละ API มีอักขระต้องห้ามเพียงตัวเดียว (ดีถ้าคุณนับเป็น NUL) และมีตัวคั่นชื่อไฟล์เดียวโดยไม่รบกวนซึ่งกันและกัน
ganbustein

คำตอบ:


6

คุณสามารถหลีกเลี่ยงการใช้โคลอนด้วยการจ้าง ISO 8601 สตริงรูปแบบ "พื้นฐาน" ( YYYYMMDDTHHMMSSZ ) สำหรับการตั้งชื่อไฟล์และโฟลเดอร์ มาตรฐานอนุญาตให้ละเว้นตัวคั่นได้จาก YYYY-MM-DDTHH:MM:SSZ รูป

ดังนั้นทั้งสองตัวอย่างเหล่านี้จะถูกต้องตามมาตรฐาน:

2016-03-27T07: 01: 02Z

20160327T070102Z

หากคุณต้องการประมวลผลสตริงเหล่านั้นด้วยภาษาการเขียนโปรแกรมหรือสคริปต์บางอย่างคุณอาจต้องแปลงให้เป็นรูปแบบเพิ่มเติมที่ประกอบด้วยตัวคั่น (ยัติภังค์, โคลอน) และข้อมูลเขตเวลา

เครื่องหมายวันที่และเวลามาตรฐานสากล - "หากค่าวันที่และเวลาถูกจัดเก็บไว้ด้วยกันในเขตข้อมูลเดียว ISO 8601 จะชี้ให้เห็นว่าควรคั่นด้วยตัวอักษรละติน Tเช่นเดียวกับใน 19951231T235959 ". ดังนั้น T ตรงกลางเป็นตัวเลือก ( 19951231235959 ) แต่แนะนำ


ทางออกที่ดี อันที่จริงแล้วห้องสมุดวันที่ที่ดีกว่าเช่น java.time เฟรมเวิร์กที่สร้างขึ้นใน Java 8 และใหม่กว่าเช่นกัน Joda เวลา ไม่มีปัญหาในการแยกวิเคราะห์ทั้งรูปแบบ "พื้นฐาน" หรือรูปแบบอีกต่อไปที่มีตัวคั่น
Basil Bourque

2

เครื่องหมายโคลอนที่ยกขึ้น Unicode 0x02F8 (เครื่องหมายโคลอน raised เทียบกับโคลอน:) จะไม่ถูกตีความว่าเป็นตัวคั่นโดย Finder หรือสคริปต์อื่น (ข้อมูลเพิ่มเติมเกี่ยวกับลำไส้ใหญ่ที่ยกมาที่นี่: http://www.charbase.com/02f8-unicode-modifier-letter-raised-colon )

วิธีการป้อนอักขระนั้นแตกต่างกันไปขึ้นอยู่กับรุ่น OS X ของคุณ รายละเอียดเพิ่มเติมสามารถดูได้ที่หน้าสนับสนุนของ Apple: http://support.apple.com/en-us/HT201586


3
ความคิดที่น่าสนใจ คำตอบนี้เกือบจะฉลาดเกินไป การมองเช่น COLON ปกติอาจทำให้เกิดความสับสนเมื่อวิเคราะห์คำ
Basil Bourque

0

เครื่องหมายวรรคตอนภาษาฮิบรู׃ ใช้งานได้ดีสำหรับฉัน ... unicode 05C3 ...


2
ระวังลำไส้ใหญ่ของฮีบรูสามารถทำให้สิ่งต่าง ๆ เลอะเทอะเมื่อติดกับตัวเลข! ลองพิมพ์ 1 (ลำไส้ใหญ่) 2. มันแสดงผลย้อนหลังเป็น 2:1! บางสิ่งบางอย่างไปกับทิศทางจากขวาไปซ้ายของอิสราเอล อย่างไรก็ตามมันจะสร้างความสับสนอย่างมากหากพยายามใช้กับภาษาจากซ้ายไปขวา
wisbucky
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.