小编Sha*_*pLu的帖子

Java 8计算两个日期之间的月份

注意这不是以下任何一个重复


我有两个约会:

  • 开始日期: "2016-08-31"
  • 结束日期: "2016-11-30"

它在上述两个日期之间的91天持续时间,我预计我的代码将返回3个月的持续时间,但以下方法仅返回2个月.有人有更好的建议吗?或者你们认为这是Java 8中的一个错误吗?91天的持续时间仅返回2个月.

非常感谢你的帮助.

方法1:

Period diff = Period.between(LocalDate.parse("2016-08-31"),
    LocalDate.parse("2016-11-30"));
Run Code Online (Sandbox Code Playgroud)

方法2:

long daysBetween = ChronoUnit.MONTHS.between(LocalDate.parse("2016-08-31"),
    LocalDate.parse("2016-11-30"));
Run Code Online (Sandbox Code Playgroud)

方法3:

我尝试使用Joda库而不是Java 8 API,它的工作原理.它将loos返回3,看起来像Java持续时间的月计算也使用了天数值.但就我而言,我不能在我的项目中使用Joda.所以还在寻找其他解决方案.

    LocalDate dateBefore= LocalDate.parse("2016-08-31");
    LocalDate dateAfter = LocalDate.parse("2016-11-30");
    int months = Months.monthsBetween(dateBefore, dateAfter).getMonths();
    System.out.println(months);
Run Code Online (Sandbox Code Playgroud)

java java-8

14
推荐指数
4
解决办法
2万
查看次数

Python 2.7 CSV文件读/写\ xef \ xbb \ xbf代码

我有一个关于Python 2.7用' utf-8-sig'代码csv读写csv文件的问题。标头为

['\xef\xbb\xbfID;timestamp;CustomerID;Email']
Run Code Online (Sandbox Code Playgroud)

"\xef\xbb\xbfID"我从文件中读取了一些代码()A.csv,我想将相同的代码和标头写入文件B.csv

我的打印日志显示:

['\xef\xbb\xbfID;timestamp;CustomerID;Email']
Run Code Online (Sandbox Code Playgroud)

但是实际的输出文件头看起来像

ÔªøID;timestamp
Run Code Online (Sandbox Code Playgroud)

在此处输入图片说明

这是代码:

def remove_gdpr_info_from_csv(file_path, file_name, temp_folder, original_header):
    new_temp_folder = tempfile.mkdtemp()
    new_temp_file = new_temp_folder + "/" + file_name
    # Blanked new file
    with open(new_temp_file, 'wb') as outfile:
        writer = csv.writer(outfile, delimiter=";")
        print original_header
        writer.writerow(original_header)
        # File from SFTP
        with open(file_path, 'r') as infile:
            reader = csv.reader(infile, delimiter=";")
            first_row = next(reader)
            email = first_row.index('Email')
            contract_detractor1 = first_row.index('Contact Detractor (Q21)')
            contract_detractor2 = first_row.index('Contact Detractor (Q20)')
            contract_detractor3 = first_row.index('Contact Detractor (Q43)') …
Run Code Online (Sandbox Code Playgroud)

python csv file-read file-writing python-2.7

2
推荐指数
2
解决办法
4257
查看次数

标签 统计

csv ×1

file-read ×1

file-writing ×1

java ×1

java-8 ×1

python ×1

python-2.7 ×1