คำถามติดแท็ก iso8601

ISO 8601 เป็นมาตรฐานขององค์การมาตรฐานสากลสำหรับแสดงเวลาเป็นสตริง ครอบคลุมวันเวลาเขตเวลาระยะเวลาและสิ่งอื่น ๆ อีกมากมาย

18
ให้วัตถุ DateTime ฉันจะได้รับวันที่ ISO 8601 ในรูปแบบสตริงได้อย่างไร
ได้รับ: DateTime.UtcNow ฉันจะรับสตริงที่แสดงค่าเดียวกันในรูปแบบISO 8601 ได้อย่างไร โปรดทราบว่า ISO 8601 กำหนดรูปแบบที่คล้ายคลึงกันจำนวนหนึ่ง รูปแบบเฉพาะที่ฉันกำลังมองหาคือ: yyyy-MM-ddTHH:mm:ssZ

28
การแปลงสตริงที่สอดคล้องกับ ISO 8601 เป็น java.util.Date
ฉันพยายามที่จะแปลงISO 8601การจัดรูปแบบ String java.util.Dateไป ฉันพบรูปแบบที่yyyy-MM-dd'T'HH:mm:ssZสอดคล้องกับ ISO8601 หากใช้กับ Locale (เปรียบเทียบตัวอย่าง) อย่างไรก็ตามการใช้java.text.SimpleDateFormatฉันไม่สามารถแปลง 2010-01-01T12:00:00+01:00String ฉันต้องแปลงมันเป็นครั้งแรก2010-01-01T12:00:00+0100โดยไม่ต้องโคลอน ดังนั้นทางออกปัจจุบันคือ SimpleDateFormat ISO8601DATEFORMAT = new SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ssZ", Locale.GERMANY); String date = "2010-01-01T12:00:00+01:00".replaceAll("\\+0([0-9]){1}\\:00", "+0$100"); System.out.println(ISO8601DATEFORMAT.parse(date)); ซึ่งเห็นได้ชัดว่าไม่ดี ฉันทำบางสิ่งบางอย่างหายไปหรือมีวิธีแก้ปัญหาที่ดีกว่า ตอบ ด้วยความเห็นของ JuanZe ฉันได้พบเวทมนตร์Joda-Timeมันอธิบายไว้ที่นี่ด้วย ดังนั้นทางออกคือ DateTimeFormatter parser2 = ISODateTimeFormat.dateTimeNoMillis(); String jtdate = "2010-01-01T12:00:00+01:00"; System.out.println(parser2.parseDateTime(jtdate)); หรืออย่างง่าย ๆ ให้ใช้ตัวแยกวิเคราะห์เริ่มต้นผ่านตัวสร้าง: DateTime dt = new DateTime( "2010-01-01T12:00:00+01:00" …
668 java  date  iso8601 

26
ฉันจะแยกวิเคราะห์วันที่ในรูปแบบ ISO 8601 ได้อย่างไร
ฉันต้องการแยกสตริงRFC 3339"2008-09-03T20:56:35.450686Z"เป็นdatetimeประเภทของ Python ฉันพบstrptimeในไลบรารีมาตรฐานของ Python แล้ว แต่ก็ไม่สะดวก วิธีที่ดีที่สุดในการทำเช่นนี้คืออะไร?

12
เวลา ISO (ISO 8601) ใน Python
ฉันมีไฟล์ ในหลาม, ผมอยากจะใช้เวลาในการสร้างและแปลงเป็นเวลา ISO (ISO 8601) สตริง ในขณะที่รักษาความเป็นจริงที่ว่ามันถูกสร้างขึ้นในโซนเวลาตะวันออก (ET) ฉันจะใช้เวลาของไฟล์และแปลงเป็นสตริงเวลา ISO ที่ระบุโซนเวลาตะวันออก (และพิจารณาถึงการประหยัดเวลาตามฤดูกาลหากจำเป็น)
340 python  datetime  iso8601 

14
ฉันจะส่งออกสตริงที่จัดรูปแบบ ISO 8601 ใน JavaScript ได้อย่างไร
ฉันมีDateวัตถุ ฉันจะแสดงtitleส่วนของตัวอย่างต่อไปนี้ได้อย่างไร <abbr title="2010-04-02T14:12:07">A couple days ago</abbr> ฉันมีส่วน "เวลาสัมพันธ์เป็นคำพูด" จากห้องสมุดอื่น ฉันได้ลองทำสิ่งต่อไปนี้แล้ว: function isoDate(msSinceEpoch) { var d = new Date(msSinceEpoch); return d.getUTCFullYear() + '-' + (d.getUTCMonth() + 1) + '-' + d.getUTCDate() + 'T' + d.getUTCHours() + ':' + d.getUTCMinutes() + ':' + d.getUTCSeconds(); } แต่นั่นทำให้ฉัน: "2010-4-2T3:19"

6
ฉันจะจัดรูปแบบวันที่ในรูปแบบ ISO 8601 ได้ใน moment.js ได้อย่างไร
เอกสารนี้พูดถึงmoment.ISO_8601ว่าเป็นตัวเลือกการจัดรูปแบบ (จาก 2.7.0 - http://momentjs.com/docs/#/parsing/special-formats/ ) แต่ไม่มีงานเหล่านี้ (แม้แต่ 2.7.0): var date = moment(); date.format(moment.ISO_8601); // error moment.format(date, moment.ISO_8601); // error ( http://jsfiddle.net/b3d6uy05/1/ ) ฉันจะได้รับ ISO 8601 จาก moment.js ได้อย่างไร

8
คำสั่ง `date` บน OS X ไม่มีตัวเลือก ISO 8601` -I`
ในสคริปต์ Bash ฉันต้องการพิมพ์วันที่และเวลาปัจจุบันในรูปแบบISO 8601 (ควรเป็น UTC) และดูเหมือนว่าสิ่งนี้ควรเป็นเรื่องง่ายเหมือนdate -I: http://ss64.com/bash/date.html แต่นี่ดูเหมือนจะใช้งานไม่ได้บน Mac ของฉัน: $ date -I date: illegal option -- I usage: date [-jnu] [-d dst] [-r seconds] [-t west] [-v[+|-]val[ymwdHMS]] ... [-f fmt date | [[[mm]dd]HH]MM[[cc]yy][.ss]] [+format] และแน่นอนman dateไม่ได้แสดงรายการตัวเลือกนี้ ใครรู้ว่าทำไมเป็นเช่นนี้หรือวิธีอื่น ๆ (ง่าย) สำหรับฉันในการพิมพ์วันที่ในรูปแบบ ISO 8601 ขอบคุณ!
194 bash  macos  iso8601 

12
วิธีสร้างการประทับเวลาและรูปแบบวันที่ตาม ISO 8601, RFC 3339, โซนเวลา UTC
วิธีสร้างการประทับวันที่โดยใช้รูปแบบมาตรฐานสำหรับISO 8601และRFC 3339อย่างไร เป้าหมายคือสตริงที่มีลักษณะดังนี้: "2015-01-01T00:00:00.000Z" รูปแบบ: ปี, เดือน, วันเป็น "XXXX-XX-XX" ตัวอักษร "T" เป็นตัวคั่น ชั่วโมง, นาที, วินาที, มิลลิวินาทีเป็น "XX: XX: XX.XXX" ตัวอักษร "Z" เป็นตัวกำหนดโซนสำหรับการชดเชยศูนย์หรือเวลา UTC, GMT, Zulu กรณีที่ดีที่สุด: ซอร์สโค้ด Swift ที่ง่ายสั้นและตรงไปตรงมา ไม่จำเป็นต้องใช้กรอบงานเพิ่มเติมโครงการย่อย cocoapod รหัส C ฯลฯ ฉันค้นหา StackOverflow, Google, Apple และไม่พบคำตอบ Swift สำหรับสิ่งนี้ เรียนที่ดูเหมือนมีแนวโน้มมากที่สุดที่มีNSDate, NSDateFormatter,NSTimeZone , คำถาม & คำตอบที่เกี่ยวข้อง: ฉันจะรับวันที่ ISO …
186 date  swift  time  iso8601  rfc3339 

3
อักขระรูปแบบไม่ถูกต้อง 'T' เมื่อวิเคราะห์สตริงวันที่ไปยัง java.util.Date
ฉันมีสตริงวันที่และฉันต้องการแยกเป็นวันที่ปกติให้ใช้ Java Date API ต่อไปนี้คือรหัสของฉัน: public static void main(String[] args) { String date="2010-10-02T12:23:23Z"; String pattern="yyyy-MM-ddThh:mm:ssZ"; SimpleDateFormat sdf=new SimpleDateFormat(pattern); try { Date d=sdf.parse(date); System.out.println(d.getYear()); } catch (ParseException e) { // TODO Auto-generated catch block e.printStackTrace(); } } อย่างไรก็ตามฉันได้รับข้อยกเว้น: java.lang.IllegalArgumentException: Illegal pattern character 'T' ดังนั้นฉันสงสัยว่าฉันต้องแยกสตริงและแยกมันด้วยตนเองหรือไม่ BTW ฉันพยายามเพิ่มอักขระเครื่องหมายคำพูดเดี่ยวที่ด้านใดด้านหนึ่งของ T: String pattern="yyyy-MM-dd'T'hh:mm:ssZ"; มันยังไม่ทำงาน

7
วิธีการสร้าง. NET DateTime จากรูปแบบ ISO 8601
ฉันพบวิธีเปลี่ยน DateTime ให้เป็นรูปแบบISO 8601แต่ไม่มีอะไรเกี่ยวกับวิธีทำ reverse ใน C # ฉันมี2010-08-20T15:00:00Zและฉันต้องการที่จะทำให้มันกลายเป็นDateTimeวัตถุ ฉันสามารถแยกส่วนของสายตัวเองออกมาได้ แต่ดูเหมือนว่าจะมีงานมากมายสำหรับบางสิ่งที่เป็นมาตรฐานสากลอยู่แล้ว

11
รูปแบบ ISO ของวัตถุ Python UTC datetime ไม่รวม Z (Zulu หรือ Zero offset)
เหตุใด python 2.7 จึงไม่มีอักขระ Z (ซูลูหรือศูนย์ออฟเซ็ต) ที่ส่วนท้ายของสตริง isoformat ของวัตถุเวลา UTC ซึ่งแตกต่างจาก JavaScript >>> datetime.datetime.utcnow().isoformat() '2013-10-29T09:14:03.895210' ในขณะที่ในจาวาสคริปต์ >>> console.log(new Date().toISOString()); 2013-10-29T09:38:41.341Z

10
ฉันจะรับวันที่ ISO 8601 บน iOS ได้อย่างไร
ง่ายพอที่จะรับสตริงวันที่ ISO 8601 (เช่น2004-02-12T15:19:21+00:00) ใน PHP ผ่านทางdate('c')แต่จะรับมันใน Objective-C (iPhone) ได้อย่างไร มีวิธีสั้น ๆ ในทำนองเดียวกันนี้หรือไม่? นี่เป็นวิธีที่ยาวนานที่ฉันพบว่าต้องทำ: NSDateFormatter* dateFormatter = [[[NSDateFormatter alloc] init] autorelease]; dateFormatter.dateFormat = @"yyyy-MM-dd'T'HH:mm:ssZ"; NSDate *now = [NSDate date]; NSString *formattedDateString = [dateFormatter stringFromDate:now]; NSLog(@"ISO-8601 date: %@", formattedDateString); // Output: ISO-8601 date: 2013-04-27T13:27:50-0700 ดูเหมือนว่าเป็นเครื่องมือที่น่ากลัวสำหรับบางสิ่งที่เป็นศูนย์กลาง

8
การแยกวิเคราะห์วันที่ / เวลา ISO8601 (รวมถึง TimeZone) ใน Excel
ฉันต้องการแยกวิเคราะห์รูปแบบวันที่ / เวลา ISO8601 ด้วยเขตเวลาที่รวมไว้ (จากแหล่งภายนอก) ใน Excel / VBA เป็นวันที่ของ Excel ปกติ เท่าที่ฉันสามารถบอกได้ Excel XP (ซึ่งเป็นสิ่งที่เราใช้) ไม่มีรูทีนสำหรับในตัวดังนั้นฉันเดาว่าฉันกำลังดูฟังก์ชัน VBA ที่กำหนดเองสำหรับการแยกวิเคราะห์ เวลาที่ ISO8601 มีลักษณะดังนี้: 2011-01-01 2011-01-01T12:00:00Z 2011-01-01T12:00:00+05:00 2011-01-01T12:00:00-05:00 2011-01-01T12:00:00.05381+05:00
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.