gpt4 book ai didi

javascript - 从日期中提取月份和年份并显示为 MMM-YY

转载 作者:行者123 更新时间:2023-12-01 00:22:44 26 4
gpt4 key购买 nike

我是 Google Apps 脚本的新手,我在日期格式转换方面遇到困难

我的源列的数据格式为“mm/dd/yyyy”。我想将其更改为“MMM-YY”,即我只需要提取月份和年份。 以下是我不成功的尝试

 // Get all values in column A on sheet titled "Transactions"
var ss = SpreadsheetApp.getActiveSpreadsheet();

var sourcesheet = ss.getSheetByName("Transactions");
var targetsheet = ss.getSheetByName("stage");

// get source range
var source = sourcesheet.getRange("A:J");
//get the data and place in array
var alldata = sourcesheet.getRange("A:I").getValues();
Logger.log(alldata.length) ;

//********************************************************************************//
// loop through date column and change format
for(var i=1; i<alldata.length; i++)
{

alldata[i][0]= new Date(alldata[i][0]);

var Mnth = alldata[i][0].getMonth() ;
var Year = alldata[i][0].getYear() ;
var Day = alldata[i][0].getDay() ;

var Day2 = new Date(Year,Mnth,Day);

alldata[i][10] = Utilities.formatDate(Day2, Session.getScriptTimeZone(), "MMM-YY");


}


//********************************************************************************//
// get destination range
var destination = targetsheet.getRange(2, 1, alldata.length, 11);

// clear contents of destination sheet
destination.clear();
// copy values to destination range
destination.setValues(alldata);

}

示例

源列值 =“01/06/2019”值写入输出列“1/19/2019”,但显示为“Jan-19”

最佳答案

替换

alldata[i][10] = Utilities.formatDate(Day2, Session.getScriptTimeZone(), "MMM-YY");

alldata[i][10] = "'" + Utilities.formatDate(Day2, ss.getSpreadsheetTimeZone(), "MMM-yy");

说明

  1. 添加撇号以防止 Google 表格将 MMM-YY 格式的值解释为 MMM-dd
  2. YY 替换为 yy
  3. Session.getScriptTimeZone() 替换为 ss.getSpreadsheetTimeZone()

注释

  1. YY 表示弱年份,可能会导致一年中某些日期出现一些错误。为了防止这种情况,请改用yy
  2. Google 表格和 Google Apps 脚本中用于日期格式的某些字母可能具有不同的含义。请参阅引用资料以正确使用它们。
  3. 脚本时区和电子表格时区可能不同。由于您要将值传递到电子表格,因此最好使用其时区而不是脚本中的时区。
<小时/>

将日期显示为 MMM-yy 作为日期值而不是文本(字符串)值的解决方案不需要使用 Google Apps 脚本,而是使用 Google 表格数字格式功能(单击“格式”>“数字”>“更多格式”>“更多日期和时间格式”),您可以使用 Google Apps 脚本通过 setNumberFormat(numberFormat) 设置数字格式。

引用文献

日期和数字格式

在 Google 表格中

Utilities.formatDate(日期,时区,格式)中

关于javascript - 从日期中提取月份和年份并显示为 MMM-YY,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59276913/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com