AppleScript ส่งคืนข้อผิดพลาดในการกำหนดวันที่


0

รหัสต่อไปนี้ของฉันส่งคืนข้อผิดพลาด

tell current application
    set b to "Tuesday 12 April 2016 at 18:06:10"
    date b
end tell

ถ้าฉันจะเขียนสตริงที่กำหนดไว้ใน b โดยตรงก่อนวันที่มันจะทำงาน แต่สตริงวันที่ของฉันจะถูกกำหนดโดยตัวแปรบางอย่างดังนั้น b เป็นเพียงตัวอย่างสำหรับสตริงที่ดูเหมือนว่า

แต่เหตุใด AppleScript จึงส่งคืนข้อผิดพลาดเนื่องจากสตริงถูกกำหนดในตัวแปรเท่านั้น


1
โปรดเพิ่มเนื้อหาจริงของสคริปต์ของคุณ!
klanomath

คุณพยายามทำอะไรตั้งวันที่ในระบบ? ถ้าเป็นเช่นนั้นคุณจำเป็นต้องใช้do shell script date ...ที่...ถูกจัดรูปแบบข้อมูลที่ถูกต้องdateคำสั่งคาดว่า
user3439894

คำตอบ:


0

ลอง:

set dateString to "Tuesday, April 12, 2016 at 12:00:00 AM"
set dateReference to date dateString

tell current application
    -- insert commands here
end tell

วิธีอื่น:

set y to 2001
set m to 6
set d to 12
set h to 12
set min to 12
set s to 12

set cd to current date
tell cd
    set its year to y
    set its month to m
    set its day to d
    set its hours to h
    set its minutes to min
    set its seconds to s
end tell

ใช้งานไม่ได้: ข้อผิดพลาด "ไม่สามารถออกเดทได้ \" วันอังคารที่ 12 เมษายน 2559 เวลา 12:00:00 น. \ " หมายเลข -1728
สวัสดีทุกคน

นี่ยังคงอยู่ในบล็อกของคุณหรือคุณนำออกไปหรือไม่
adayzdone

ใช่มันยังคงอยู่ในบล็อคบอก มีบางอย่างอื่นที่ทำที่นั่น แต่นอกบล็อคบอกว่ามันทำงาน? ทำไม?
สวัสดีทุกคน

วันที่มาจากการเพิ่มมาตรฐานไม่ใช่จากแอปพลิเคชัน
adayzdone

ฉันรู้ว่ามันไม่มีแอพพลิเคชั่น แต่จะบอกให้มันรันคำสั่งได้อย่างไร
สวัสดีทุกคน

0

ไวยากรณ์ของคุณไม่ถูกต้อง

ก่อนอื่นคุณไม่จำเป็นต้อง "บอก" อะไรเลย ปล่อยให้ "บอก" และ "จบบอก" ปิด วันที่ไม่เฉพาะเจาะจงกับแอพใด ๆ โดยเฉพาะดังนั้นคุณไม่จำเป็นต้อง "บอก" นี่อาจเป็นปัญหาทั้งหมด

ประการที่สองถ้าคุณทำสิ่งนี้:

set a to current date

คุณจะได้รับผลลัพธ์เช่นนี้ (ไม่ตรงกับสิ่งนี้เพราะเฉพาะการตั้งค่าวันที่และเวลาของคุณ):

วันที่ "อังคาร, 12 เมษายน 2016 เวลา 10:39:44 น."

นั่นคือ "ผลลัพธ์" ของสคริปต์บรรทัดเดียวด้านบน สังเกตเห็นเครื่องหมายจุลภาค

สคริปต์ที่คุณตั้งค่า "b" ไม่รวมเครื่องหมายจุลภาคและอาจเป็นจุดที่ผิด ฉันคิดว่าถ้าคุณเรียกใช้สคริปต์บรรทัดเดียวเหมือนที่ฉันเห็นด้านบนคุณจะเห็นไวยากรณ์ที่เหมาะสม เมื่อคุณเห็นมันคุณสามารถเปลี่ยนสตริงของคุณในบรรทัดที่คุณตั้งค่า b เพื่อให้ตรงกับไวยากรณ์ที่ระบบคาดหวัง หากคุณกำลังใช้ไวยากรณ์ที่ถูกต้อง (นั่นคือการจับคู่สิ่งที่คุณได้รับเมื่อคุณขอวันที่ปัจจุบัน) ปัญหาของคุณคือเฉพาะที่คุณได้ห่อคำสั่งวันที่ของคุณในบล็อก "บอก" และแอพที่คุณ "บอก "ไม่เข้าใจวิธีการทำ ปล่อยเสื้อคลุม "บอก" ออก ทำสิ่งที่คุณทำออกมาให้สำเร็จ วันที่ "b" ของคุณจะยังคงทำงานต่อไปในสคริปต์ของคุณในบล็อกบอก แต่คุณต้องทำวันที่ของคุณทำงานนอกบล็อกบอก

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.