Как я могу получить день из Google листа через Google скрипт - PullRequest
0 голосов
/ 02 марта 2020

Я хочу получить дату в ячейке Google и вернуть знак зодиака c. У меня есть рабочий алгоритм. Но я не могу получить день и месяц от даты (я получаю из ячейки листа Google)

Fucntion GetDate(DB) // Getting date from Google sheet
{
var date = Utilities.formatDate(new Date(DB), "GMT+5", "MM/dd/yyyy"); // Date Format

var day = // How can i pass day
var month = // How can i pass month

function zodiac_sign(day,month) 
{ 
    Var astro_sign=""; 


    if (month == "december"){ 

        if (day < 22) 
        astro_sign = "Sagittarius"; 
        else
        astro_sign ="capricorn"; 
    } 

    else if (month == "january"){ 
        if (day < 20) 
        astro_sign = "Capricorn"; 
        else
        astro_sign = "aquarius"; 
    } 

    else if (month == "february"){ 
        if (day < 19) 
        astro_sign = "Aquarius"; 
        else
        astro_sign = "pisces"; 
    } 

    else if(month == "march"){ 
        if (day < 21)  
        astro_sign = "Pisces"; 
        else
        astro_sign = "aries"; 
    } 
    else if (month == "april"){ 
        if (day < 20) 
        astro_sign = "Aries"; 
        else
        astro_sign = "taurus"; 
    } 

    else if (month == "may"){ 
        if (day < 21) 
        astro_sign = "Taurus"; 
        else
        astro_sign = "gemini"; 
    } 

    else if( month == "june"){ 
        if (day < 21) 
        astro_sign = "Gemini"; 
        else
        astro_sign = "cancer"; 
    } 

    else if (month == "july"){ 
        if (day < 23) 
        astro_sign = "Cancer"; 
        else
        astro_sign = "leo"; 
    } 

    else if( month == "august"){ 
        if (day < 23)  
        astro_sign = "Leo"; 
        else
        astro_sign = "virgo"; 
    } 

    else if (month == "september"){ 
        if (day < 23) 
        astro_sign = "Virgo"; 
        else
        astro_sign = "libra"; 
    } 

    else if (month == "october"){ 
        if (day < 23) 
        astro_sign = "Libra"; 
        else
        astro_sign = "scorpio"; 
    } 

    else if (month == "november"){ 
        if (day < 22) 
        astro_sign = "scorpio"; 
        else
        astro_sign = "sagittarius"; 
    } 

    return astro_sign; 
}

}

1 Ответ

1 голос
/ 02 марта 2020

Прежде всего, функция написана неправильно.

Fucntion GetDate(DB) // Getting date from Google sheet
{
var date = Utilities.formatDate(new Date(DB), "GMT+5", "MM/dd/yyyy"); // Date Format

var day = // How can i pass day
var month = // How can i pass month

Как насчет этого:

function GetDate(DB) {
  var dt=new Date(DB);
  var date=Utilities.formatDate(dt, "GMT+5", "MM/dd/yyyy");
  var day = Utilities.formatDate(dt, "GMT+5", "dd");//or possibly dt.getDate();
  var month = Utilities.formatDate(dt, "GMT+5", "MM");//or possibly dt.getMonth()+1;

В приведенном выше коде Utilities.formatDate () возвращает строку. Но dt.getDate () возвращает число от 1 до 31, а dt.getMonth () возвращает число от 0 до 11. Обычно люди добавляют его в месяц, но это зависит от того, что вы с ним делаете.

JavaScript Дата Объект

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...