簡體   English   中英

如何在日期 object 中使用 24 小時格式?

[英]how to use 24 hour format in date object?

在我的示例中,它以 12am-pm 格式在日歷時間內寫入,我應該更改什么? 是否可以制作自己的格式? 例如,如果我想將2021-01-27 8:00更改為2021.01.27 8:00

function myFunction1() {
  var calendar = CalendarApp.getCalendarById('callendar id');
      calendar.createEvent("my title",new Date ('2021-01-27 8:00'),new Date ('2021-01-27 13:00'));
  }

最重要的是,日期不知道它們的格式。這取決於環境和 output 設置。

正確配置您的環境

在清單中指定正確的時區

您的項目清單必須設置一段時間。 這很重要。

在此處輸入圖像描述

根據需要自定義日歷中的時間顯示

您必須記住,日期不是我們所看到的,它們是更復雜的信息對象。 我們看到的是日期中的字符串。

在此處輸入圖像描述

讓我們編碼

下一個代碼是正確的

calendar
  .createEvent(
    "my title",
    new Date('2021-01-27 8:00'),
    new Date('2021-01-27 13:00')
  );

因為調用new Date()有正確的簽名

下一個代碼也是正確的

calendar
  .createEvent(
    "my title2",
    new Date('2021-02-27 8:00'),
    new Date('2021-02-27 8:00')
  );

它創建一個沒有持續時間的事件。 這可以。 這是合乎邏輯的預期。

要指定間隔,您需要指定中午時間或 24 小時格式:

calendar
  .createEvent(
    "my title2",
    new Date('2021-02-27 8:00'),
    new Date('2021-02-27 20:00')
  );

或者

calendar
  .createEvent(
    "my title2",
    new Date('2021-02-27 8:00 AM'),
    new Date('2021-02-27 8:00 PM')
  );

通常,持續時間只是簡單地添加到開始時間。 像那樣

function createEvent() {
  var calendar = CalendarApp.getDefaultCalendar();
  const start = new Date('2021-02-27 8:00');
  const end = new Date(start);
  end.setHours(end.getHours() + 12);
  calendar
    .createEvent("my title2", start, end);
}

是的,您可以使用自己的格式來創建日期:

function createEvent() {
  var calendar = CalendarApp.getDefaultCalendar();
  const start = newDate('27.02.2021 8:00');
  const end = new Date(start);
  end.setHours(end.getHours() + 12);
  calendar
    .createEvent("my title2", start, end);
}

function newDate(string){
  const match = string.match(/(\d{1,2}).(\d{1,2}).(\d{4})\s+(\d{1,2}:\d{1,2})/);
  if(!match) throw new Error('Invalid string');
  return new Date(`${match[3]}-${match[2]}-${match[1]} ${match[4]}`);
}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM